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

exit() and abort() and cerr

مغلق
بدأه **طالب** في 24 ديسمبر 2005 · 3 رد · 1,350 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم
كيف الحال شباب
عندي سؤال أبغكم تجاوبوني بسرعه
أيش الفرق بين exit
وabort
و متى أستخدمهم
و بعد عندي سؤال أيش تسوي cerr
بس لا تحولوني لمواقع أنقليزيه
أبغي شرح يكون بالعربي

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 18 أبريل 2014 في 18:31 — السبب: add some tags

#2

لا أدري ما هـو الفرق بين الدالتين exit و abort ...

بالنسبة للكائن cerr فهـو يستخدم لعرض رسائل الأخطاء ... لن تتعامل معه إلا إذا وصلت لمرحلة التعامل مع الاستثناءات

#3

في الحقيقة cerr يستخدم للكتابة الى الـ standard error !!

يمكن مفهوم صعب شوي .. انا لا اعرف من أين جاء (اعتقد انه شي تقليدي من ايام unix و انا شخصيا لا اجد فائدة كبيرة له)

هناك standard input و هو المدخل اللذي تدخل منه الحروف الى البرنامج, عادة هو الكيبورد, و لكن في الحقيقة يمكن تغييره ليكون ملف .. جرب تكتب برنامج ياخذ input ثم يطبعه على الشاشة, و لكن استدعه بهذا الشكل:

program < input.txt

في هذه الحالة فإن الـ standard input سيكون هو الملف input.txt و عندما يقوم البرنامج بطلب input من المستخدم, فإنه سيحصل على محتويات الملف ..

عندما يكتب البرنامج على الشاشة, فإنه يكتب الى standard output و هو الشاشة, و لكن ممكن تحوله الى ملف

program > output.txt

لو كان البرنامج يقوم بطباعة شي على الشاشة, فإنك عندما تشغل البرنامج بهذه الطريقة لن ترى شيئا على الشاشة, و لكن بعد ان ينتهي البرنامج من التشغيل تستطيع فتح ملف output.txt و سترى ان محتوياته هي ما اخرجه البرنامج.

عندما تكتب للـ standard error غير عنما لما تكتب للـ standard output, يعني لو عندك

cout << "line1" << endl;
cerr << "line2" << endl;

و نفذ البرنامج هكذا:

test >out.txt

ستجد انك كتبت line2 على الشاشة و line1 داخل الملف.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 25 ديسمبر 2005 في 08:03

#4

السلام عليكم

اخوي الاجابة على سؤالك والله اعلم

هي كل اللي ذكرته نستخدمها مع الاستثناءات

exist() هي داله prottype لها هو void exist (int status)

والقيمة اللي ترجعه لابد يكون int

ودائما تستخدم مع fatal error has occurred

توقف البرنامج كله لو حدث هذا الخطا

اما الabort

protoytpe

void abort();

تستخدم مع البرامج المعقدة اللي المفترض ان ينتهي البرنامج عندها كما تسمى"emergency stop"

توقف لطوارئ

لكن المهم هو ان لها header<sctdlib>

تستخدم غالبا مع الcatch block في النهاية

اتمنى اني افدتك "" اعتقد ان مااجبت بشكل المطلوب ""

هذا الموضوع مغلق.

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