Цлог објекат у Ц ++ је објекат класе остреам. Повезан је са стандардним излазним током грешке Ц стдерр.
clog
и cerr
оба су повезана са stderr
, али се разликује од тога cerr
у смислу да су потоци у clog
баферу и нису аутоматски повезани са cout
.
Међуспремни излаз је ефикаснији од небуферираног. У случају баферираног излаза, сав излаз се чува у променљивој и записује на диск одједном. За небуферисани излаз, морамо наставити са уписивањем на диск.
Међуспремни излаз није пожељан за критичне грешке. У случају пада система, може доћи до ситуације да је излаз још увек био у баферу и није уписан на диск, а порука о грешци се не може преузети. Не можемо себи приуштити губитак података о грешкама у случају пада система, па настављамо са записивањем критичних грешака на диск иако је спорији.
clog
се обично користи за сечу дрва. За некритично евидентирање догађаја, ефикасност је важнија па clog
је пожељно потврдити.
изјава о зачепљењу
спољни опорни зачепљење;
Дефинисано је у датотеци заглавља "> датотека заглавља.
clog
Објекат је осигуран бити иницијализовани току или прије први пут предмет типа ios_base::Init
се гради. clog
није везан ни за један други ток.
„Ц“ у зачепљењу односи се на „карактер“, па зато цлог значи „запис знакова“.
Објекат зачепљења користи се заједно са оператором уметања (<<) како би се приказао ток знакова. Општа синтакса је:
цлог << варНаме;
или
цлог << "Соме Стринг";
Оператор екстракције може се користити више пута са комбинацијом променљивих, низова и манипулатора (попут endl
):
цлог << вар1 << "Неки низ" << вар2 << ендл;
Пример: Како делује зачепљење?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else clog << "Error while opening the file " << fileName << endl; return 0; )
У овом програму, кломпа се користи за струјање података дневника, јер грешка у овом случају није критична за апликацију. Дакле, употреба пуферског излаза зачепљења је ефикаснија
Када покренете програм, излаз ће бити (ако постоји грешка у отварању датотеке):
Грешка приликом отварања датотеке дата.ткт