موصى به, 2021

اختيار المحرر

الفرق بين الخروج (0) والخروج (1)

المخرج (0) والخروج (1) هي عبارات القفزة C ++ التي تجعل قفزة التحكم خارج البرنامج أثناء تنفيذ البرنامج. يتم استخدام كل من الوظائف والخروج (0) والخروج (1) للخروج من البرنامج ، ولكن هناك اختلاف رئيسي واحد بين الخروج (0) والخروج (1). يظهر الخروج (0) الإنهاء الناجح للبرنامج ويظهر الخروج (1) الإنهاء غير الطبيعي للبرنامج.

اسمحوا فرق الدراسة بين الخروج (0) والخروج (1) مع مساعدة من الرسم البياني المقارنة.

رسم بياني للمقارنة

أساس للمقارنةالخروج (0)الخروج (1)
الأساسيةتقارير نظام التشغيل حول إنهاء / إنهاء "الناجحة / العادية" للبرنامج.تقارير نظام التشغيل حول إنهاء "غير طبيعي" للبرنامج.
بناء الجملةالخروج (0)؛الخروج (1)؛
يشيريشير إلى أن المهمة قد تم تنفيذها بنجاح.يشير إلى أنه تم إحباط المهمة في ما بين بسبب الخطأ.
وحدات الماكروEXIT_SUCCESSEXIT_FAILURE

تعريف الخروج (0)

يعد الخروج الوظيفي (0) عبارة عن كشف قفزة في C ++. يتم استخدامه لإنهاء البرنامج أو ترك عنصر التحكم الخروج من البرنامج. تقارير نظام التشغيل حول الإنهاء الناجح للبرنامج الذي يشير إلى نظام التشغيل أن مهمة البرنامج قد تم بنجاح. الماكرو المستخدم لرمز الإرجاع "0" هو "EXIT_SUCCESS" ، لذا ، يمكنك استخدامه بطريقة الخروج (EXIT_SUCCESS). الشكل العام لوظيفة الخروج (0) هو: -

 void exit (int return_code)؛ 

هنا ، المعلمة الرسمية “return_code” هي القيمة التي يتم إرجاعها إلى وظيفة الاستدعاء. يكون returen_code دائمًا من النوع الصحيح حيث ستكون القيمة التي يتم إرجاعها إلى دالة الاستدعاء إما صفراً أو قيمة غير صفرية. المخرج (0) هو وظيفة مكتبة قياسية ، إذا كنا نستخدم الخروج (0) في البرنامج ، يجب علينا استخدام ملف الرأس.
دعونا نفهم الخروج (0) مع مثال: -

 #include // standard library function int main () {FILE * ptrFile؛ ptrFile = fopen ("myfile.txt"، "r")؛ // افتح الملف في وضع القراءة فقط إذا كان (ptrFile == NULL) {cout << "خطأ في فتح الملف"؛ الخروج (1) ؛ // alternately يمكنك استخدام exit (EXIT_FAILURE)} exit (0)؛ // alternately يمكنك استخدام exit (EXIT_SUCCESS)} 

في الرمز أعلاه ، نحاول فتح ملف باسم "myfile.txt". لقد أنشأنا مؤشرًا إلى الملف "myfile.txt". إذا كان الملف "myfile.txt" موجودًا ، فسيشير المؤشر إلى عنوان ذلك الملف وسيقوم exit (0) بتنفيذ تقرير نظام التشغيل الذي تم فتحه بنجاح. في حالة عدم وجود الملف ، سيحتوي المؤشر على الملف "myfile.txt" الآن على NULL وسيحصل الخروج (1) على تنفيذ تقرير نظام التشغيل الذي لا يفتح الملف بسبب خطأ أو شيء ما.

تعريف الخروج (1)

إن الخروج الوظيفي (1) هو أيضًا بيان قفزة في C ++. إنهاء (1) أيضاً إنهاء البرنامج ولكن بشكل غير طبيعي. يخرج المخرج (1) عن نظام التشغيل الذي لم يتم تنفيذ البرنامج بنجاح ، أو تم إحباطه بين التنفيذ بسبب خطأ ما أو الخطأ الآخر. يتم تعريف وظيفة الخروج (1) في وظيفة المكتبة القياسية ، في حال كنت تستخدم الخروج (1) في برنامجك ، يجب أن تذكر ملف الرأس في الجزء العلوي من البرنامج.
الماكرو لرمز الإرجاع "1" هو "EXIT_FAILURE" ، لذلك ، يمكن كتابته بطريقة "الخروج (EXIT_FAILURE)".
الآن دعونا نفهم وظيفة الخروج (1) بمساعدة البرنامج.

 // pop the element at the top of the stack int pop (int stack_name، int size، int Top) {if (Top == - 1) {cout << "stack is underflow"؛ الخروج (1)؛ } آخر {int s = s [Top]؛ أعلى--؛ عائدات)؛ }} 

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

الاختلافات الأساسية بين exit (0) و exit (1)

  1. الرمز return_code الوحيد الذي يشير إلى الإنهاء الناجح للبرنامج هو "0". للإبلاغ عن إنهاء غير طبيعي للبرنامج ، يمكننا استخدام أي قيمة أخرى غير "0" أي أنه يمكننا استخدام "1" ، "2" ، "3" ... وهذا يعني أن القيمة غير الصفرية تشير إلى إنهاء غير طبيعي للبرنامج.
  2. يمكن أيضًا استخدام ماكرو بدلاً من return_code. مثل ، في المكان "0" يمكنك استخدام "EXIT_SUCCESS" بينما في مكان "1" يمكنك استخدام "EXIT_FAILURE".

تشابه:

  1. كلا الخروج (0) والخروج (1) ، هي عبارات القفزة C ++.
  2. يتم استخدام كل من الخروج (0) والخروج (1) لإنهاء البرنامج.
  3. يتم تعريف كلا exit (0) و exit (1) ، ملف الرأس.
  4. كلا الخروج (0) والخروج (1) ، تقرير حالة إنهاء البرنامج إلى نظام التشغيل.

ملحوظة:

إذا لم ترجع الدالة exit () أي شيء ، فهذا يعني أنها لا تريد الكشف عن حالة إنهاء البرنامج إلى نظام التشغيل.

استنتاج:

للإبلاغ عن حالة إنهاء البرنامج ، يستخدم أحد وظيفة exit (). كشف الخروج (0) إلى نظام التشغيل الذي تم إكمال مهمة البرنامج بنجاح. يكشف الخروج (1) أن مهمة البرنامج لم تكتمل ، وأُجهض تنفيذ البرنامج بشكل غير طبيعي.

Top