In C++ was ist der Unterschied zwischen std::cout
und std::wcout
?Was ist der Unterschied zwischen std :: cout und std :: wcout?
Sie beide steuern die Ausgabe in einen Stream-Puffer oder drucken Zeug auf die Konsole, oder sind sie einfach gleich?
In C++ was ist der Unterschied zwischen std::cout
und std::wcout
?Was ist der Unterschied zwischen std :: cout und std :: wcout?
Sie beide steuern die Ausgabe in einen Stream-Puffer oder drucken Zeug auf die Konsole, oder sind sie einfach gleich?
Sie arbeiten nach verschiedenen Zeichenart:
std::cout
verwendet char
als Zeichenartstd::wcout
verwendet wchar_t
als ZeichenartAnsonsten beiden Ströme auf der Standardausgabe schreiben.
aber was sind breite Zeichen auf irgendeine Weise? –
'char' wird für * schmale * Strings verwendet, geeignet für 7-Bit ASCII und 8-Bit ANSI. 'wchar_t' wird für * wide * strings, auch bekannt als Unicode Strings, verwendet. Die Größe von 'wchar_t' ist jedoch nicht portierbar, bei einigen Systemen ist es 16bit (geeignet für UCS2/UTF-16), bei anderen ist es 32bit (geeignet für UCS4/UTF-32). C++ 11 führte neue 'char16_t'- und' char32_t'-Typen ein, um mit dieser Deskrepanz umzugehen. –
Eine andere Sache ist, dass beide mit respektierten Eingangsstrom verwendet werden.
Objekte davon werden während oder vor dem ersten Mal initialisiert, wenn ein Objekt std::ios_base::Init
erstellt wird.
std::cout
ist std::basic_ios::tie
'd zu std::cin
und std::cerr
std:wcout
ist std::basic_ios::tie
' d zu std::wcin
und std::wcerr
@Galik Definitiv. Danke für die Korrektur. Entschuldige die späte Antwort. – oguzhanunlu
Die w Versionen von Standard-Streams für ** ** w ide Zeichen sind. – NathanOliver