دوباره سلام.
فکر میکنم با یک مثال مشکل شما حل میشه. این برنامه رو بنویسید و کامپایل کنید. و فایل exe ی ایجاد شده رو در ریشه ی یکی از driveهاتون قرار بدید. مثلا در C.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا این طور برنامتون رو تست کنید.
از منوی start گزینه ی Run رو انتخاب کنید و این دستور رو تایپ کنید : cmd
حالا باید command.com باز شده باشه.
در خط فرمان این رو تایپ کنید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خروجی برنامه به شکل زیر هست:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا این دستور رو تایپ کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خروجی برنامه به این شکل در میآد:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
به طور ساده به ازای هر Command ی که در ادامه ی test.exe مینویسید مقدار argv یکی زیاد میشه مثلا:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
باعث میشه مقدار argv برابر 4 بشه.
*argc[] هم مقدار این Command ها رو در خودش ذخیره میکنه. *argc[] یک آرایه دو بعدی هست.
مثلا اگه شما این دستور رو وارد کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مقدار argc[1]==test1 و argc[2] ==test2 قرار میگیره.در اینجا مقداره argv هم برابر 3 هست.
در مورد سئوال سوم شما بايد بگم اولين Commandی که برنامتون میگیره اسم یک فایل هست که اگه این فایل وجود نداشته باشه مقدار برگشتی تایع fopen = null ميشه.برنامه سعي ميكنه با اين تابع يك file رو در حالت read only باز كنه. طبق چيزهايي كه صحبتش رو كرديم مقدار [1]argc اسم file مورد نظر شما هست در ضمن مقدار argv=2 هست.
اميدوارم كمكتون كرده باشه.