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

endl VS \n

بدأه khaled_prg في 10 أغسطس 2010 · 1 رد · 593 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قرأت في بعض المواقع أن endl يقوم بإضافة سطر جديد ثم يقوم بعمل flushing للـ output stream أما \n فيطبع سطر جديد داخل output stream فقط !!!

و طرحت هذا الموضوع الذي أسأل فيه عن الفرق بينهما بالتفصيل الممل !!!, أسئلتي هي:

1-ما هي عملية flushing و ما فائدتها !؟

2-هل endl كائن أم دالة !؟ سمعت البعض يقول بأنه دالة و يستدل بالمعلومات الموجودة في الصفحة التالية (و بالتحديد لأنه يعيد قيمة !)

معلومات و تفاصيل أكثر حول endl

3-مالفرق بين endl و \n من ناحية العمل !؟ و أيهما أفضل !؟

أرجو من الإخوة عدم الإكتفاء بوضع روابط لمواقع انجليزية !! و إنما مساعدتي في فهم القضية بالعربية إذا كان ممكن :blush:

سلامي :)

1
#2

1- غالبا مايتم تخزين الناتج الخاص بجمل الطباعه على ال stdout قبل طباعتها و ذلك بغرض تحسين الأداء (buffering و خلافه)

فعندما تريد أن يتم كتابة الناتج مباشره دون الإنتظار , قم بعمل flush ,,,

إستخدم الدالة اللي إسمها fflush الموجوده في stdio.h.

2- الدالة في السي و السي++ لابد و أن يتبها أقواس تحتوي على الوسائط (إن وجدت) و إلا تحتوي على أقواس فارغه, فهل يأتي بع endl أقواس ؟ إذن هو كائن

3- كما قلت أنت بالظبط

4

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