Обектът 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








