با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. و کاربرانی که با سری آموزش های زبان C همراهمون هستند. جلسه قبل مدیریت حافظه در زبان C رو مورد بررسی قرار دادیم. در آخرین جلسه و به عنوان آخرین مبحث آرگومان های خط فرمان در C رو مورد مطالعه قرار خواهیم داد. و اما آرگومان خط فرمان در C :
ممکن است برخی از مقادیر را از خط فرمان به برنامه های C خود منتقل کنید، زمانی که اجرا می شوند. این مقادیر،
آرگومان های خط فرمان در C نامیده می شوند. آرگومان خط فرمان در C برای برنامه های شما مهم هستند،
مخصوصا زمانی که می خواهید برنامه خود را از خارج کنترل کنید.
آرگومان های خط فرمان با استفاده از آرگومان تابع ()main که در آن argc به تعداد آرگومان ها منتقل شده و[]argv که یک اشاره گر آرایه است و به مقدار هر یک از آرگومانهای منتقل شده به برنامه اشاره می کند،
پردازش می شود.
در زیر یک مثال ساده است که بررسی می کند که آیا آرگومان ارائه شده از خط فرمان وجود دارد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> int main( int argc, char *argv[] ) { if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); } } |
وقتی کد بالا با یک آرگومان کامپایل و اجرا می شود، نتیجه زیر را تولید می کند.
1 2 | $./a.out testing The argument supplied is testing |
وقتی کد بالا با دو آرگومان کامپایل و اجرا می شود، نتیجه زیر را تولید می کند.
1 2 | $./a.out testing1 testing2 Too many arguments supplied. |
وقتی کد بالا بدون هیچ آرگومانی کامپایل شده و اجرا می شود، نتیجه زیر را تولید می کند.
1 2 | $./a.out One argument expected |
لازم به ذکر است که argv [0] نام برنامه را نگه می دارد.
argv [1] یک اشاره گر به مقدار اولین آرگومان خط فرمان ارائه شده است.
argv [n] آرگومان nم را در خود نگه می دارد.
اگر هیچ آرگومانی به برنامه ارائه نشود، argc 1 خواهد بود ،
و اگر شما یک argument ارسال کنید، سپس argc برابر با ۲ تنظیم می شود.
شما می توانید تمام آرگومان های خط فرمانی را که توسط یک فضا جدا شده اند، را منتقل کنید،
اما اگر خود آرگومان دارای یک فضای خالی باشد(یک رشته با فضای خالی)،
می توانید چنین آرگومان هایی را با قرار دادن آنها در داخل علامت نقل قول دوتایی “” یا تکی ” منتقل کنید.
دوباره در مثال بالا بار دیگر نام برنامه را میخوانیم و آرگومان خط فرمان را با قرار دادن درون نقل قول ها منتقل می کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> int main( int argc, char *argv[] ) { printf("Program name %s\n", argv[0]); if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]); } else if( argc > 2 ) { printf("Too many arguments supplied.\n"); } else { printf("One argument expected.\n"); } } |
1 2 3 4 | $./a.out "testing1 testing2" Progranm name ./a.out The argument supplied is testing1 testing2 |
به پایان رسید این دفتر اما همچنان مباحث برنامه نویسی C ادامه داره. آموزش زبان C رو با آرگومان خط فرمان در C ویا آرگومان های خط فرمان در C به پایان می رسونیم.
دراین مجموعه آموزشی تلاش برای بود تا گامی هر چند کوچک در راه بهبود و ارتقاء سطح اطلاعاتی برداشته شه. امیدوارم موفق بوده باشیم.
پیروز و سربلند باشید.