الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Command Line Arguments

بدأه almstshar2 في 7 أغسطس 2009 · 2 رد · 627 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سم الله الرحمن الرحيم

اذا بغينا نصمم برنامج معالج ملفات

اول شي نسوية نطلب من المستخدم ادخال اسم الملف ...ثم تتم عملية المعالجة

الجزئية الاساسية من البرنامج راح تكون بالشكل هذا


{
using namespace std;
cout << "Please enter a filename: ";
char strFilename[255];
cin >> strFilename;

// open file and process it
}
			 int main()

ال main مثل ما تعودنا عليها بدون argument ......

ا لطريقة الي جايبها اليوم ان نظيف للمين argument

قبل ما ندخل بالمين نخلونا نتفق على حاجة ..getsmile.tmp001468828.gif

الي هي :-

نقدر عن طريق الدوس تشغيل الملفات التنفيذية الي تحمل امتداد .exe

اول شي نتجة الى المجلد الموجود فية الملف التنفيذي ثم نقوم بكتابة اسمة ..وووبسgetsmile.tmp001454515.gif

وراح يشتغل البرنامج

طيب لو اسم برنامجنا

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/

#2

جميل جدا .

ومن أشهر تطبيقاتها ربط الملفات ببرنامجها الاساسي من خلال سجل الويندوز.

tvquran_6.gif

#3

لو المعاملات بتاعت البرنامج عندك اعقد يستحسن استخدام getopt

http://www.gnu.org/s/libc/manual/html_node...ogram-Arguments

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة