اريد فهم الفرق بين argv et argc
اريد فهم الفرق بين argv et argc
مرحبا عبد الرزاق،
argc : يعني argument count وهو عدد الباراميترات الممررة للتابع ويكون رقم 1,2,3 ..
argv: يعني argument vector مصفوفة البارامترات و تحميل قيمها
argv هي مصفوفة من بعد واحد عدد عناصرها يساوي argc وتكون عناصرها من نوع String سلاسل نصية
يبين المثال السابق استخدام هذين المتحولين لقراءة القيم الممررة للتابع عند الاستدعاء
حيث نأخذ قيم المتحولات بالتسلسل عن طريق index دليل العنصر في المصفوفة
ضمن المثال استدعينا البرنامج باستخدام الأمر التالي: test a1 b2 c3/.
أي نفذ البرنامج الموجود في الملف test و مرر له القيم النصية a1 b2 c3 , اسم مسار الملف
و نعود لطباعتها ضمن البرنامج في الحلقة ..
argc :argument count هو عدد الوسائط التي يتم تمريرها إلى برنامجك من سطر الأوامر،
argv :argument vector هو مصفوفة الوسائط.
هذه هي المتغيرات التي تم تمريرها إلى الوظيفة الرئيسية عند بدء التنفيذ. عندما ندير برنامجًا ، يمكننا تقديم argument لهذا البرنامج مثل -
$ ./a.out hello
مثال
مرحبا هنا argument للملف التنفيذي. يمكن الوصول إلى هذا في برنامجك. #include
using namespace std;
int main(int argc, char** argv) {
cout << "This program has " << argc << " arguments:" << endl;
for (int i = 0; i < argc; ++i) {
cout << argv[i] << endl;
}
return 0;
}
عندما تقوم بتجميع وتشغيل هذا البرنامج:
$ ./a.out hello people
Output
سيعطي هذا الإخراج، هذا البرنامج الذي يحتوي على ثلاث argument
C:\Users\user\Desktop\hello.exe
hello
people
لاحظ أن الوسيطة الأولى هي دائمًا موقع التنفيذ القابل للتنفيذ.
التعليقات