小编une*_*are的帖子

将std :: wcout和std :: cout混合会出错,这是怎么回事?

使用g ++进行编译后,下面的程序std::wcout仅显示表达式。但是,如果您取消注释第八行,它将正确打印三个表达式。

我想知道这种奇怪行为的原因。

#include <iostream>
#include <cstring>
#include <boost/format.hpp>

int main () {
  int x = 10; 
  wchar_t str[] = L"Hello, world!";
//  std::cout << "what?" << std::endl;
  std::wcout << L"str = \"" << str << L"\" | len = " << wcslen(str) << L"\n";
  std::cout << boost::format("x = %d | &x = %p") % x % &x << std::endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ cout widechar

4
推荐指数
1
解决办法
95
查看次数

标签 统计

c++ ×1

cout ×1

widechar ×1