PDA

View Full Version : آرگومان های تابع main لطفا یه توضیح کوچک بدهید



siahacker
چهارشنبه 24 اسفند 1384, 14:37 عصر
سلام
دوستان عزیز و استادان لطفا در مورد آرگومان های تابع main که argc و *argv هستند می توانید کمی توضیح دهید؟
من از روی کتاب این آرگومان ها را خواندم اما دقیقا متوجه کار اصلی آن ها نشدم و نمی دانم به چه دردی می خورند
از دوستان عزیزی که جواب بدهند بسیار ممنون می شوم
باتشکر

kochol
چهارشنبه 24 اسفند 1384, 22:59 عصر
سلام
خوب این فکر کنم بر بگرده به زمان داس که شما برای اجرای یک کد می تونستید کلمات دیگری هم جلوی فایل exe بنویسید.
start.exe argv
که argc تعداد اون کاراکتر هاست و *argv خود انهال هستند.
زیاد هم سخت نگیر کم کم می فهمی چی هست.

pedram_keivani
پنج شنبه 25 اسفند 1384, 00:34 صبح
امیدوارم با خوندن سورس این برنامه چیزهایی دسگیرت بشه!

mzjahromi
پنج شنبه 25 اسفند 1384, 07:55 صبح
همونطور که دوستمون گفتن Argc تعداد پارامترها+1 هست و argv خود پارامترها. نام خود برنامه هم به عنوان یکی از پارامترها به برنامه ارسال میشه.

siahacker
پنج شنبه 25 اسفند 1384, 18:14 عصر
سلام
از دوستان عزیز و استادان گرامی بسیار ممنونم
یعنی ما به تعداد argc باید دستورهای برنامه را بنویسیم؟
یعنی مثل زیر
test.exe com1 com2 com3
که در این جا تعداد argc 3 تا می شود درست است؟
باتشکر

mzjahromi
پنج شنبه 25 اسفند 1384, 18:24 عصر
که در این جا تعداد argc 3 تا می شود درست است؟
باتشکر تعداد آرگومانها 4 تا می شود.خود Test.Exe هم یکی هست

siahacker
پنج شنبه 25 اسفند 1384, 22:44 عصر
سلام
از توضیحات همه ی دوستان استفاده کردم و از ایشان بسیار متشکرم
دیگر جای سوالی با این توضیحات باقی نمی ماند:تشویق:

Amir Oveisi
پنج شنبه 10 فروردین 1385, 01:44 صبح
ایول منم گرفتم چی شد ممنون

Goldenstarc
جمعه 20 فروردین 1395, 04:10 صبح
برای اینکه تایپیک جدید باز نکنم همین قدیمی رو بالا اوردم ..

فقط میشه یکنفر توضیح بده این ارگومان ها چه کاربردی دارند ؟ اینکه تعداد کلمات فایل اجرایی رو نشون بده که میتونه نشون نده و راحت اسم فایل رو خودمون ویرایش کنیم به هر تعداد کلمه !
توی Ide DEV C++‎‎‎ گزینه EXECUTE بعد PARAMETERS میشه مقدار دهی کرد (میدونم جز اینجا از میحط ویندوز هم میشه مقدار داد بهشون) به همین همین ارگومان ها اما اصلن اصل موضوع رو متوجه نمیشه !
میشه یک نفر کمی توضیح بده ؟
ممنون

LinuxBox
یک شنبه 22 فروردین 1395, 19:29 عصر
برای اینکه تایپیک جدید باز نکنم همین قدیمی رو بالا اوردم ..

فقط میشه یکنفر توضیح بده این ارگومان ها چه کاربردی دارند ؟ اینکه تعداد کلمات فایل اجرایی رو نشون بده که میتونه نشون نده و راحت اسم فایل رو خودمون ویرایش کنیم به هر تعداد کلمه !
توی Ide DEV C++‎‎‎‎‎‎‎‎‎ گزینه EXECUTE بعد PARAMETERS میشه مقدار دهی کرد (میدونم جز اینجا از میحط ویندوز هم میشه مقدار داد بهشون) به همین همین ارگومان ها اما اصلن اصل موضوع رو متوجه نمیشه !
میشه یک نفر کمی توضیح بده ؟
ممنون

این آرگومانها ، دستورات خط فرمان هستند و تو مواردی مانند ارسال اطلاعات به برنامه ای که قصد اجرای اون از خط فرمان رو داریم میشه ازشون استفاده کرد. مثلا برای تعریف سوئیچ ها در هنگام اجرا کردن فایل از خط فرمان کاربرد دارند.
بطور معمول شامل دو آرگومان هست که آرگومان اول تعداد آرگومانهای خط فرمان ( شامل نام فایل ) و آرگومان دوم آرایه ای از رشته ها هست که هر سلول اون شامل یک رشته از دستورات ارسالی میباشد.
بطور مثال وقتی شما از خط فرمان برای اجرای فایل مورد نظرتون ( gcc ) دستور زیر رو وارد میکنید آرگومانها به شکل زیر برای برنامه ارسال میشند :




gcc -o myprog myprog.c

argc
4
argv[0] gcc
argv[1] -o
argv[2] myprog
argv[3] myprog.c