logo

وظيفة Execlp () في C

توفر لغة البرمجة C العديد من الوظائف التي تمكن المبرمجين من إكمال مجموعة متنوعة من المهام بنجاح. إكسيكلب () هي وظيفة فعالة تمكنك من تشغيل برنامج آخر من داخل برنامج C الخاص بك. في هذه المقالة سوف تناقش وظيفة execlp() التعقيدات، وبناء الجملة، والاستخدام، والأمثلة، والمخرجات.

مكتبة C القياسية عائلة إكسيك من الوظائف تشمل الدالة execlp() . فهو يمكّنك من تبديل صورة العملية الحالية إلى صورة مختلفة يتم تحديدها بواسطة مسار البرنامج المحدد. تكون هذه الوظيفة مفيدة عندما ترغب في تشغيل برامج خارجية من برنامج C.

تبديل حالة جافا

بناء الجملة:

تحتوي الدالة execlp() على الصيغة التالية:

 The execlp() function has the following syntax: #include int execlp(const char *file, const char *arg0, ..., (char *)0); 

معلمات execlp() هي كما يلي:

موقع البرنامج الذي تريد تشغيله في ملف.

arg0, ...: قائمة بالوسائط الاختيارية للبرنامج، مع وجود مؤشر فارغ (أي (char *)0) باعتباره الوسيط الأخير لإنهاء القائمة.

جافا التغليف

تريد الدالة أن يكون البرنامج موجودًا في أحد الدلائل المتوفرة في متغير بيئة PATH، ومن المهم ملاحظة أنه يتم تمرير الوسائط كسلاسل.

مثال على الدالة execlp()

لنأخذ مثالًا مباشرًا لفهم الطريقة بشكل أفضل وظائف execlp() . لنفترض أنك تريد أن يقوم برنامج C الخاص بنا بتشغيل ملف أمر ليرة سورية ، الذي يعرض محتويات الدليل. وإليك كيف يمكنك تحقيق ذلك:

 #include #include int main() { printf('Executing ls command...
'); execlp('ls', 'ls', '-l', NULL); return 0; } 

انتاج:

ستظهر مخرجات البرنامج تفاصيل شاملة عن الملفات والأدلة الموجودة في الدليل الحالي، تمامًا مثل ملف أمر ليرة سورية -l في المحطة لا.

 Executing ls command... total 597964 drwxr-xr-x 2 root root 4096 Apr 13 12:17 apache2 drwxrwxrwt 1 root root 4096 Apr 13 12:17 lock drwxr-xr-x 2 root root 4096 Apr 13 12:11 log drwxr-xr-x 2 root root 4096 Mar 8 02:05 mount drwxr-xr-x 1 root root 4096 Apr 13 12:19 node_modules -rwxr-xr-x 1 root root 75175505 Apr 13 12:10 programiz-oc -rwxr-xr-x 1 root root 35040 Apr 13 12:10 pty.node drwxr-xr-x 3 root root 4096 May 24 17:20 secrets drwxr-xr-x 2 root root 4096 Apr 13 12:11 sendsigs.omit.d lrwxrwxrwx 1 root root 8 Apr 13 12:11 shm -> /dev/shm drwxr-xr-x 3 root root 4096 Apr 13 12:18 swift-5.7.2-RELEASE-ubuntu22.04 -rw-r--r-- 1 root root 537055150 Apr 13 12:18 swift.tar.gz drwxr-xr-x 1 root root 4096 Apr 13 12:11 systemd drwxr-xr-x 2 root root 4096 Apr 13 12:11 user 

توضيح:

يتم تضمين ملفات الرأس المطلوبة أولاً في هذا المثال. بعد ذلك، في الوظيفة الأساسية ، نقوم بطباعة رسالة لتوضيح أن أمر ليرة سورية قد أعدم. وأخيرا، يمكنك تشغيل الدالة execlp() ، وتوفير الوسائط المطلوبة ( '-ل' لإدراجها بتنسيق طويل) واسم البرنامج ('ل') . من خلال توفير مؤشر فارغ، يتم إنهاء قائمة الوسائط.

فرز قائمة الصفيف

إخراج ال أمر ليرة سورية سيظهر في وحدة التحكم عندما نقوم بتجميع البرنامج وتشغيله الدالة execlp() سوف مبادلة خارج صورة العملية الحالية ل أمر ليرة سورية . يمكنك ان ترا ال ملف و تفاصيل الدليل في الإخراج من الأمر السابق، بما في ذلك الأذونات , ملكية , مقاس ، و تاريخ التعديل .

ال الدالة execlp() يوفر الأدوات للمبرمجين لإنشاء تطبيقات معقدة ومرنة لأنه يسمح لهم بتشغيل برامج خارجية واستبدال صورة العملية النشطة. يمكن استخدامه مع وظائف وأساليب C الأخرى للبناء سير العمل المعقد، أتمتة المهام، وتحسين فائدة برامجك. لذا، احتضن إمكانات execlp() لفتح عالم من الإمكانيات لأعمال برمجة C الخاصة بك.

خاتمة:

لغة البرمجة C الدالة execlp() هي أداة قوية تسهل تشغيل البرامج الأخرى. يمكنك دمج الوظائف الخارجية بنجاح في برامج C من خلال فهم تركيبها واستخدامها وسلوكها. توفر القدرة على تبديل صورة العملية الحالية بصورة جديدة لمسة من الحرية وخيارات تطوير لا تعد ولا تحصى.

تقسيم سلسلة C++

قمنا بالتحقيق في وظيفة execlp() الفروق الدقيقة في منشور المدونة هذا وقدمت تعليمات مفصلة حول كيفية استخدامه. تحدثنا عن بناء الجملة، وقدمنا ​​مثالًا واقعيًا، ونظرنا إلى النتائج المرجوة. باستخدام هذه المعلومات، يمكنك إضافة الملف بشكل آمن الدالة execlp() إلى التعليمات البرمجية الخاصة بك وتشغيل البرامج الخارجية بسهولة.

لا تنس أن لغة C لديها عائلة من الوظائف تسمى com.exec ، والتي تتضمن الدالة execlp() . هناك المزيد من الاختلافات، مثل إكسيكفب ()، إكسيكلي ()، وغيرها، ولكل منها وظيفة معينة. يمكنك أن تصبح مبرمج لغة C أفضل من خلال تعلم المزيد عن هذه الوظائف.

من خلال الاستفادة من الدالة execlp() ل بكامل إمكاناته، يمكنك تطوير برامج أكثر متانة وديناميكية تتواصل مع نظام التشغيل الأساسي، مما يسمح لك باستخدام الأدوات والأدوات المساعدة الموجودة دون عناء. الاستفادة من الدالة execlp() لتطوير قدراتك في البرمجة بلغة C..