Обектът 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
wclog
object се използва заедно с оператора за вмъкване (<<), за да се покаже поток от символи. Общият синтаксис е:
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