C ++ wclog - C ++ стандартна библиотека

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

Разлика между запушване и запушване

запушва потребителите char (тесен знак) като тип символ. Може да се използва за ASCII и ANSI символи.

За интернационализация ни трябват Unicode низове, които не се вписват в char. wclog използва wchar_t (широк знак) и използваем за Unicode символи.

Разлика между wcerr и wclog

wclogи wcerrдвете са свързани с stderr, но се различава от това wcerrв смисъл, че потоците в wclogса буферирани и не са автоматично обвързани с wcout.

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

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

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

wclog декларация

 външен ostream wclog;

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

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

"Wc" в се wclogотнася до "широк знак", следователно wclogозначава "широка регистрация на символи". The

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

 wclog << varName;

или

 wclog << "Някакъв низ";

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

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

Пример: Как работи wclog?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wclog << L"Error while opening the file " << fileName < 

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

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