В C++ в чем разница между std::cout
и std::wcout
?В чем разница между std :: cout и std :: wcout?
Они оба управляют выходом в буфер потока или печатают материал на консоль, или они похожи друг на друга?
В C++ в чем разница между std::cout
и std::wcout
?В чем разница между std :: cout и std :: wcout?
Они оба управляют выходом в буфер потока или печатают материал на консоль, или они похожи друг на друга?
Они работают на различных типах символов:
std::cout
использует char
как тип символаstd::wcout
использует wchar_t
как тип символаВ противном случае оба потока пишут в стандартный вывод.
а какие широкие символы в любом случае? –
'char' используется для * узких * строк, подходящих для 7-разрядных ASCII и 8-разрядных ANSI. 'wchar_t' используется для * широких * строк, также как строки Unicode. Однако размер 'wchar_t' не переносимый, на некоторых системах он 16 бит (подходит для UCS2/UTF-16), а для других он 32 бит (подходит для UCS4/UTF-32). В C++ 11 были введены новые 'char16_t' и' char32_t' типы, чтобы справиться с этим descrepency. –
Другое дело, что оба используются с уважаемым входным потоком.
Объекты этих объектов инициализируются во время или до того, как будет создан объект std::ios_base::Init
.
std::cout
является std::basic_ios::tie
'd, чтобы std::cin
и std::cerr
std:wcout
является std::basic_ios::tie
' d, чтобы std::wcin
и std::wcerr
@Galik Определенно. Спасибо за исправление. Извините за поздний ответ. – oguzhanunlu
ш версии стандартных потоков для ** ** ш язь символов. – NathanOliver