View Full Version : تفاوت cerr,cout چیست؟
m-taheri
دوشنبه 09 شهریور 1388, 11:04 صبح
با سلام
چند تا سوال دارم از اساتید
1- تفاوت این دو چیست ؟
char a
1 - cout << (int) a;
2 - cout << static_cast <int> (a
2- تفاوت cout , cerr , clog , wcerr , wclog چیست؟
3- آیا کتاب فارسی مرجع برای آموزش windows applicatin برای vC++ وجود داره؟
clover
دوشنبه 09 شهریور 1388, 13:39 عصر
1- تفاوت این دو چیست ؟
تفاوت خاصی ندارند ، در دستور اول برای تبدیل نوع از عملگر قدیمی تر C ( تبدیل نوع صریح ) استفاده شده و در دستور دوم از عملگر تبدیل نوع جدید C .
ظاهرا ثابت شده که تبدیل نوع صریح روشی قدیمی ، غیر ایمن و مستعد خطاست . وقتی که برنامه خوانده می شود پیدا کردن این تبدیلات سخت است . به همین دلیل از تبدیل نوع جدید استفاده می شود که چهار نوع مختلف دارد که یکی از انواع آن هم static_cast است .
2- تفاوت cout , cerr , clog , wcerr , wclog چیست؟
تفاوت کدوم با کدوم ؟:اشتباه:
cout شئ خروجی استاندارد هست اما cerr شئ خروجی خطای استاندارد . ممکن است بپرسید cerr هم مثل cout عمل میکند پس به چه دردی می خورد ؟ اولا باید گفت که cerr دقیقا مثل cout عمل نمی کند و به نحوی برای خروجی خطا بهینه شده ( مثلا بافر شده نیست ) در ضمن به طور پیش فرض هر دو به کنسول متصل هستند اما ممکن است شما بخواهید خروجی خطا را به یک فایل یا هر وسیله ی دیگری متصل کنید . در کل شئ cerr برای راحتی کار و جداسازی و اداره خطا از خروجی استاندارد به کار می رود .
clog دقیقا همانند cerr است اما بافر شده .
wclog ، wcerr و wcout دقیقا مشابه همتاهای خودشون هستند با این تفاوت که با کاراکتر ها و رشته های یونیکد کار می کنند .
فکر می کنم پایه گذار سنت غلطی شدم ، چند روز پیش تاپیکی باز کردم با عنوان " چند سوال ... " که البته به من تذکر داده شد که سوالاتمو در تاپیک های جداگانه بپرسم . علتش رو هم توی این چند روز متوجه شدم . پیشنهاد می کنم برای گرفتن پاسخ های بهتر ، سوال ها را در تاپیک های جداگانه مطرح کنید .
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.