سم الله الرحمن الرحيم
اذا بغينا نصمم برنامج معالج ملفات
اول شي نسوية نطلب من المستخدم ادخال اسم الملف ...ثم تتم عملية المعالجة
الجزئية الاساسية من البرنامج راح تكون بالشكل هذا
{
using namespace std;
cout << "Please enter a filename: ";
char strFilename[255];
cin >> strFilename;
// open file and process it
}
int main()
ال main مثل ما تعودنا عليها بدون argument ......
ا لطريقة الي جايبها اليوم ان نظيف للمين argument
قبل ما ندخل بالمين نخلونا نتفق على حاجة ..
الي هي :-
نقدر عن طريق الدوس تشغيل الملفات التنفيذية الي تحمل امتداد .exe
اول شي نتجة الى المجلد الموجود فية الملف التنفيذي ثم نقوم بكتابة اسمة ..وووبس
وراح يشتغل البرنامج
طيب لو اسم برنامجنا
WordCount وموجود في السي نشغل الدوس ونتجة الى السي ثم نكتب
WordCount
وراح يشتغل البرنامج ...!!
طيب حنى تكلمنا عن الArgument للمين ...طبعا اذا بغينا نمرر اي شي للمين لازم نشغل البرنامج عن طريق الدوس ثم بعد ذالك نضيف القيمة المراد تمريرها للمين
مثلا في برنامجنا معالج الملفات نقدر نمرر للمين بهذي الطريقة
C:\\>WordCount Myfile.txt
وبكذا نكوون مررنا اسم الملف الى المين (البرنامج)
طبعا عدد الargument غير محدود مثلا اذا بغينا نعالج ملفين
C:\\>WordCount Myfile.txt Myotherfile.txt
خلونا نرجع للكود وكيف تتم كتابت المين
int main(int argc, char *argv[])
{
using namespace std;
cout << "There are " << argc << " arguments:" << endl;
// Loop through each argument and print its number and value
for (int nArg=0; nArg < argc; nArg++)
cout << nArg << " " << argv[nArg] << endl;
return 0;
#include <iostream>
طبعا الجديد علينا هنا بس
int main(int argc, char *argv[])
واحينانا تتم كتابتها بهذي الطريقة
int main(int argc, char** argv)
وكلها تودي نفس المعنى
argc : طبعا هذا انتجر ويحمل عدد المتغيرات المرسلة للمين
argv : وهنا يتم حفظ المتغيرات مهما كان نوعها
طيب خلونا نشوف مخرجات البرنامج طبعا راح اشغل البرنامج عن طريق الدوس
وراح يكون شكلة كذا
C:\\>WordCount Myfile.txt 100
راح يكون شكل المخرج التالي
0 C:\\WordCount
1 Myfile.txt
2 100
>There are 3 arguments:
الArgument رقم 0 هو دائما مسار البرنامج
ارجو اني وفقت في اصال الصورة
المصدر
http://www.learncpp.com/cpp-tutorial...ine-arguments/
