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

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

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

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

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

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

Програмистите за начинаещи C ++ използват coutи wcoutза показване на грешката, като използват стандартен изход за отстраняване на грешки в своите програми, но винаги е добра практика да се използват cerrи wcerrда се показват грешки.

Това е така, защото вместо да показвате потока грешки на екрана, можете по-късно да промените потока грешки, за да запишете грешките във файл.

декларация на wcerr

 външен wostream wcerr; 

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

В wcerrобекта се осигурява да се инициализира по време на или преди първи път обект от тип ios_base::Initе конструирана. След като wcerrобектът е конструиран, изразът (wcerr.flags & unitbuf)е различен от нула, което означава, че всеки изход, изпратен до тези обекти на потока, веднага се изхвърля в операционната система. Също wcerr.tie() == &wcoutт.е. wcerr.tie()връща &wcoutкоето означава, че wcout.flush()се изпълняват преди всеки изход операция на wcerr.

"Wc" в се wcerr отнася до "широк знак" и "грешка" означава "грешка", следователно wcerr означава "широка грешка в символа". В wcerrобекта се използва заедно с оператора на вмъкване (<<), за да се покаже поток от символи. Общият синтаксис е:

 wcerr << varName;

или

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

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

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

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

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

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

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

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