18-08-2005, 16:04
|
|
|
חבר מתאריך: 09.08.02
הודעות: 26
|
|
המבנה של
int argc, char *argv[]
מגדיר לתוכנית (או יותר נכון לפונקציה הראשית, )לקבל ארגומנטים משורת הפקודה
למרות שבווינדואס זה קצת פחות שימושי(או יותר נכון אנשים משתמשים בזה) ביוניקס מריצים תוכנית דרך שורת הפקודה.
argc ישמור את מספר הארגומנטים (כולל שם התוכנית) שניתנו. ומערך המחרוזות argv
מחזיק את הערכים עצמם.
לדוגמא נוכל לכתוב דבר כזה בשורת הפקודה: (abc שם התוכנית)
abc shalom kita a
argc יחזיק את הערך 4 וargv יחזיק את המחרוזות.
נוכל לפנות אליהם כמו אל מערך מחרוזות רגיל וגם נוכל לבדוק מה ערכו של argc לדוגמא כדי להגביל מספר ארגומנטים.
בקשר להרצת תוכנית חיצונית.
שוב-למרות שזה נראה לכם מעניין מאוד, אין שימוש רב (במיוחד ב system) ותלמדו את זה בעתיד (כותב ההודעה) ביוניקס כדי להריץ תוכנית חיצונית, צריכים להשתמש בפונקציה ממשפחת exec
וליצור תהליך חדש לפני (בעזרת fork) מפני שאותו תהליך (ואם לא ניצור אחד חדש-התהליך הראשי, התוכנית שלנו) מסתיים לאחר הרצת הפקודהץ
|