الرئيسية > برمجة > كيف تجعل لبرنامجك وسائط

كيف تجعل لبرنامجك وسائط


السلام عليكم و رحمة الله و بركاته

عادة في البرامج التي تعمل من سطر الأوامر تكون خياراتها عبارة عن وسائط تمرر من طرف المستخدم مع البرنامج كالآتي :

ls -l -h

مثلا هذا الأمر يستخدم في إستعراض الملفات لكن مع الخيارين l- و h- سيعرض لنا الملفات مع تصاريحها مع حجمها ،في هذا الدرس سنرى الأساسيات فقط أما في النهاية ستجدون روابط و مكتبات تقوم بمثل هذا العمل المعقد .

أبسط برنامج يكون في C كالآتي :

#include<stdio.h>

int main(int argc ,char *argv[])

{

return 0;

}

هذا من Ansi C يمكن إستبدال []argv* ب **argv لآن كلاهما نفس المعنى أي مصفوفة مؤشر .

argc تعني عدد الوسائط أما argv فهي مؤشر للوسائط ،مثلا لو كان برنامجنا كهذا :

pro arg1 arg2 arg3

سيكون argc يبدء من 0 وينتهي عند NULL أم argv فستحمل أولا إسم البرنامج بعدها الوسائط كالآتي :

argv0[pro]

argv1[arg1]

argv2[arg2]

argv3[arg3]

مثال :

#include<stdio.g>

int main(int argc ,char **argv)

{

int i;

for(i=0;i<argc;++i)

printf(“arg[%d] = %s\n”,i,argv[i]);

return 0;

}

نقوم بترجمته بإستخدام GCC :

gcc cl.c -o cl

الآن نشغله :

./cl arg1 arg2 arg3

النتيجة ستكون :

arg[0] = ./cl

arg[1] = arg1

arg[2] = arg2

arg[3] = arg3

في هذا السطر :

for(i=0;i<argc;++i)

أخذنا عدد الوسائط من argc ووضعناه في المتغير I حتى نستخدمه في الوصول إلى عناصر مصفوفة argv التي تحتوي مؤشرا لكل وسيط مررناه .

printf(“arg[%d] = %s\n”,i,argv[i]);

هنا إستخدمنا المتغير I في الوصول إلى عناصر المصفوفة .

مثال بإستخدام الؤشرات :

#include<stdio.h>

int main(int argc ,char **argv)

{

while(argc–)

printf(“%s “,*argv++);

return 0;

}

argc يبدأ من 0 لهذا سيتوقف أوتوماتيكيا عندما يصل إليه ،آخر عنصر في argv هو NULL .

مصادر :

man page : getopt

Arguments to main

command line parsing

مكتبات :

The Argtable

ANSI C Command Line Option Parsing Library

CCmdLine – command line parser

Cross-platform command line argument and option parsing

Anyoption – C/C++ Command line and resource file option parsing

الدرس على شكل ملف : كيف تجعل لبرنامجك وسائط

التصنيفات :برمجة الوسوم:
  1. لا يوجد تعليقات.
  1. No trackbacks yet.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: