std :: cout和std :: wcout有什么区别?

Whi*_*ray 13 c++ cout

在c ++中std::coutstd::wcout?有什么区别?

它们都控制输出到流缓冲区或打印到控制台,或者它们是否相似?

Die*_*ühl 20

它们适用于不同的角色类型:

  • std::cout使用char的字符类型
  • std::wcout使用wchar_t的字符类型

否则两个流都写入标准输出.

  • `char`用于*narrow*字符串,适用于7位ASCII和8位ANSI.`wchar_t`用于*wide*字符串,也就是Unicode字符串.但是,`wchar_t`的大小不可移植,在某些系统上它是16位(适用于UCS2/UTF-16),在其他系统上它是32位(适用于UCS4/UTF-32).C++ 11引入了新的`char16_t`和`char32_t`类型来处理这种不确定性. (10认同)
  • 但是什么是宽字符? (8认同)

ogu*_*han 6

另一件事是两者都与受尊重的输入流一起使用。

std::ios_base::Init这些对象是在第一次创建对象期间或之前初始化的。

  • std::coutstd::basic_ios::tie'd tostd::cin和 tostd::cerr
  • std:wcoutstd::basic_ios::tie'd tostd::wcin和 tostd::wcerr