(1) اور باہر نکلیں (1) کے درمیان فرق
مواد
ایگزٹ (0) اور ایگزٹ (1) C ++ کے جمپ اسٹیٹمنٹ ہیں جو پروگرام کو چلانے کے دوران کسی پروگرام سے قابو پاتے ہیں۔ دونوں افعال ، ایگزٹ (0) اور ایگزٹ (1) ، پروگرام سے باہر نکلنے کے لئے استعمال کیے جاتے ہیں ، لیکن ایگزٹ (0) اور ایگزٹ (1) کے درمیان ایک بڑا فرق ہے۔ ایگزٹ (0) پروگرام کے کامیاب خاتمے کو ظاہر کرتا ہے اور ایگزٹ (1) پروگرام کے غیر معمولی خاتمے کو ظاہر کرتا ہے۔
موازنہ چارٹ کی مدد سے ایگزٹ (0) اور ایگزٹ (1) کے مابین مطالعہ کرنے دیں۔
- موازنہ چارٹ
- تعریف
- کلیدی اختلافات
- نتیجہ اخذ کرنا
موازنہ چارٹ
موازنہ کے لئے بنیاد | باہر نکلیں (0) | باہر نکلیں (1) |
---|---|---|
بنیادی | آپریٹنگ سسٹم کو پروگرام کے "کامیاب / معمول" کے خاتمے / تکمیل کے بارے میں اطلاع دیتا ہے۔ | پروگرام کے "غیر معمولی" ختم ہونے کے بارے میں آپریٹنگ سسٹم کی اطلاع دیتا ہے۔ |
نحو | باہر نکلیں (0)؛ | باہر نکلیں (1)؛ |
اشارہ کرتا ہے | اس سے یہ ظاہر ہوتا ہے کہ کام کامیابی کے ساتھ انجام پا گیا ہے۔ | اس سے یہ ظاہر ہوتا ہے کہ غلطی کی وجہ سے اس کام کو درمیان میں ختم کردیا گیا ہے۔ |
میکروس | EXIT_SUCCESS | EXIT_FAILURE |
باہر جانے کی تعریف (0)
فنکشن ایگزٹ (0) C ++ کا جمپ اسٹیٹمنٹ ہے۔ اس کا استعمال پروگرام کو ختم کرنے یا پروگرام کو کنٹرول سے باہر کرنے کے لئے کیا جاتا ہے۔ یہ پروگرام کے کامیاب خاتمے کے بارے میں آپریٹنگ سسٹم کی اطلاع دیتا ہے جو آپریٹنگ سسٹم کی طرف اشارہ کرتا ہے کہ پروگرام کا کام کامیابی کے ساتھ مکمل ہوچکا ہے۔ ریٹرن کوڈ "0" کے لئے استعمال ہونے والا میکرو "EXIT_SUCCESS" ہے ، لہذا ، آپ اسے راستہ سے باہر نکلنے میں استعمال کرسکتے ہیں (EXIT_SUCCESS) ایگزٹ (0) فنکشن کی عمومی شکل یہ ہے: -
باطل راستہ (int return_code)؛
یہاں ، رسمی پیرامیٹر "रिटर्न_کوڈ" وہ قدر ہے جو کالنگ فنکشن میں واپس کردی جاتی ہے۔ ریٹورین_ کوڈ ہمیشہ انٹیجر قسم کا ہوتا ہے کیونکہ کالنگ فنکشن میں واپس کی جانے والی قدر یا تو صفر ہوگی یا غیر صفر کی قدر۔ ایگزٹ (0) ایک لائبریری کا ایک فنکشن ہے ، اگر ہم پروگرام میں ایگزٹ (0) استعمال کر رہے ہیں تو ہمیں ہیڈر فائل کو استعمال کرنا ہوگا۔ # شامل کریں مذکورہ کوڈ میں ہم ایک فائل "myfile.txt" کے نام سے کھولنے کی کوشش کر رہے ہیں۔ ہم نے "myfile.txt" فائل کا اشارہ تیار کیا تھا۔ اگر فائل "myfile.txt" موجود ہے تو ، پوائنٹر اس فائل کے پتے کی طرف اشارہ کرے گا اور باہر نکلیں (0) آپریٹنگ سسٹم کی اطلاع دہندگی پر عملدرآمد کرے گا کہ فائل کامیابی کے ساتھ کھل گئی ہے۔ اگر فائل "myfile.txt" فائل پر پوائنٹر موجود نہیں ہے تو اب وہ NULL پر مشتمل ہوگی اور ایگزٹ (1) آپریٹنگ سسٹم کی اطلاع دہندگی حاصل کرے گی کہ فائل کسی غلطی یا کسی اور چیز کی وجہ سے نہیں کھلتی ہے۔ فنکشن ایگزٹ (1) بھی C ++ کا جمپ اسٹیٹمنٹ ہے۔ خارجی (1) پروگرام کو بھی ختم کرتا ہے لیکن ، غیر معمولی طور پر۔ ایگزٹ (1) آپریٹنگ سسٹم کی اطلاع دیتا ہے کہ پروگرام کامیابی کے ساتھ عمل میں نہیں آیا ہے ، یا کسی اور غلطی کی وجہ سے اس پر عمل درآمد کے درمیان اسقاط کو ختم کردیا گیا ہے۔ اگر آپ اپنے پروگرام میں ایگزٹ (1) استعمال کررہے ہیں تو آپ کو خصوصی طور پر ہیڈر فائل کا ذکر کرنا پڑتا ہے ، اگر آپ اپنے پروگرام میں ایکزٹ (1) استعمال کررہے ہیں تو ، ایگزٹ (1) فنکشن کو معیاری لائبریری فنکشن میں بیان کیا گیا ہے۔ // اسٹیک انٹ پاپ کے سب سے اوپر عنصر کو پاپ کریں (int stack_name، int size، int top) {if (top == - 1) out cout << "اسٹیک انڈر فلو ہے"؛ باہر نکلیں (1)؛ } else {int s = s؛ اوپر--؛ واپسی (زبانیں)؛ } یہاں ، فنکشن کو اسٹیک کے اوپری حصے پر عنصر کو پاپ کرنے کے لئے بیان کیا گیا ہے ، اگر اسٹیک کے اوپری حصے میں خالی پایا جاتا ہے یعنی ٹاپ -1 ہے۔ پھر اسٹیک میں اعلی ترین عنصر کو باہر نکالنے کا کام کامیابی کے ساتھ مکمل نہیں ہوتا ہے کیونکہ اسٹیک خالی ہے تو ہم باہر نکلیں (1) واپس آئیں گے۔ اس سے ظاہر ہوتا ہے کہ پاپ فنکشن کا کام مکمل نہیں ہوا ہے۔ لہذا ، پھانسی غیر معمولی طور پر ختم کردی جاتی ہے۔ اگر ایگزٹ () فنکشن کچھ واپس نہیں کرتا ہے تو ، اس کا مطلب ہے کہ وہ آپریٹنگ سسٹم پر پروگرام کے خاتمے کی حیثیت کو ظاہر نہیں کرنا چاہتا ہے۔ پروگرام کے خاتمے کی صورتحال کی اطلاع دینے کے لئے ، ایک ایگزٹ () فنکشن استعمال کرتا ہے۔ ایکجٹ (0) آپریٹنگ سسٹم کو ظاہر کرتی ہے کہ پروگرام کا کام کامیابی کے ساتھ مکمل ہوچکا ہے۔ ایگزٹ (1) سے پتہ چلتا ہے کہ پروگرام کا ٹاسک مکمل نہیں ہوا ہے ، اور پروگرام کا عمل غیر معمولی طور پر ختم کردیا گیا ہے۔
آئیے ایک مثال کے ساتھ ایگزٹ (0) کو سمجھیں: -
باہر جانے کی تعریف (1)
ریٹرن کوڈ "1" کے لئے میکرو "EXIT_FAILURE" ہے ، لہذا ، اس کو "ایگزٹ (EXIT_FAILURE)" سے ایک طرح سے لکھا جاسکتا ہے۔
آئیے پروگرام کی مدد سے ایگزٹ (1) فنکشن کو سمجھیں۔
مماثلت:
نوٹ:
نتیجہ: