C ++ clog - C ++ Стандартна библиотека

Обектът clog в C ++ е обект от клас ostream. Той е свързан със стандартния поток за извеждане на грешки C stderr.

clogи cerrдвете са свързани с stderr, но се различава от това cerrв смисъл, че потоците в clogса буферирани и не са автоматично обвързани с cout.

Буферираният изход е по-ефективен от буферирания изход. В случай на буфериран изход, всички изходи се записват в променлива и се записват на диск наведнъж. За буфериран изход трябва да продължим да записваме на диск.

Буферираният изход не е предпочитан за критични грешки. В случай на срив на системата може да възникне ситуация, когато изходът все още е в буфер и не е записан на диск и съобщението за грешка не може да бъде извлечено. Не можем да си позволим да загубим данни за грешки в случай на срив на системата, така че продължаваме да записваме критичните грешки на диск, въпреки че е по-бавен.

clogобикновено се използва за целите на дърводобива. За некритично регистриране на събития ефективността е по-важна, така че clogсе предпочита да се потвърждава.

декларация за запушване

 външно запушване на потока;

Определя се в заглавния файл "> заглавния файл.

В clogобекта се осигурява да се инициализира по време на или преди първи път обект от тип ios_base::Initе конструирана. clogне е обвързан с друг поток.

"C" в clog се отнася до "character", следователно clog означава "log log".

Обектът clog се използва заедно с оператора за вмъкване (<<), за да се покаже поток от символи. Общият синтаксис е:

 clog << varName;

или

 clog << "Some String";

Операторът за извличане може да се използва повече от веднъж с комбинация от променливи, низове и манипулатори (като endl):

 clog << var1 << "Някакъв низ" << var2 << endl;

Пример: Как работи запушването?

 #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; )

В тази програма clog се използва за поточно предаване на данните в дневника, тъй като грешката в този случай не е критична за приложението. Така че използването на буфериран изход на запушване е по-ефективно

Когато стартирате програмата, изходът ще бъде (ако има грешка при отваряне на файла):

 Грешка при отваряне на файла data.txt

Интересни статии...