2015-09-01 31 views

Antwort

11

Sie arbeiten nach verschiedenen Zeichenart:

  • std::cout verwendet char als Zeichenart
  • std::wcout verwendet wchar_t als Zeichenart

Ansonsten beiden Ströme auf der Standardausgabe schreiben.

+3

aber was sind breite Zeichen auf irgendeine Weise? –

+4

'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. –

3

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
+0

@Galik Definitiv. Danke für die Korrektur. Entschuldige die späte Antwort. – oguzhanunlu

Verwandte Themen