C++ 如何打印 wstring?

C++ How do I print a wstring?

提问人:Apteryx 提问时间:6/24/2020 最后编辑:Apteryx 更新时间:6/24/2020 访问量:818

问:

我正在使用一个C++库,该库从某些函数返回wstrings。当我尝试将它们打印到 std::cout 时,我收到一条消息,基本上说它找不到 in 的重载。 这段小代码演示了这个问题。误差行为 14。<<cout << fnReturningWstring();

替换为和替换为的相同代码可以完美地工作。 所以我的问题是“我如何打印一个 wstring?L"mumble""mumble"wstringstring

     1  #include <iostream>
     2  #include <string>
       
     3  using std::wstring;
     4  using std::cout;
       
     5  wstring
     6  world()
     7  {
     8    wstring whirled(L"whirled!");
     9    return whirled;
    10  }
       
    11  int main()
    12  {
    13    cout << L"hello, ";
    14    cout << world();
    15    
    16    return 0;
    17  }
visual-c++ 运算符关键字 iostream wstring

评论


答:

1赞 Apteryx 6/24/2020 #1

将“cout”更改为“wcout”。

澳大利亚、加拿大、新西兰和美国可能是仅有的四个 ASCII 工作的国家。我住在澳大利亚。我不知道有 cin、cout、cerr 和 clog 的“宽”版本;WCIN、WCOUT、WCERR 和 WCLOG。我还在Microsoft的Visual C++上发帖,一位好心人解释了这一切。