Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ wcout不会打印正确的单引号_C++_String_Unicode - Fatal编程技术网

C++ wcout不会打印正确的单引号

C++ wcout不会打印正确的单引号,c++,string,unicode,C++,String,Unicode,我很惊讶地看到,std::wcout不会在字符串中打印正确的单引号,事实上它会崩溃。此后,控制台上不会打印任何其他内容 std::wcout << L"Parents’s Name"; std::wcout假设操作系统是Windows,将控制台模式设置为支持宽字符: #include <iostream> #include <io.h> #include <fcntl.h> int main(){ _setmode(_fileno(st

我很惊讶地看到,
std::wcout
不会在字符串中打印正确的单引号,事实上它会崩溃。此后,控制台上不会打印任何其他内容

std::wcout << L"Parents’s Name";

std::wcout假设操作系统是Windows,将控制台模式设置为支持宽字符:

#include <iostream>
#include <io.h>
#include <fcntl.h>

int main(){
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L"Parents’s Name";
}

使用这样的代码中的字符,您需要确保文件编码与编译器期望的相同。若要查看这是否是问题所在,您可以尝试将字符替换为
\u2019
,并查看其行为。@aschepper我也将其写入一个文件,在该文件中确保编码为unicode UCS-2 BOM(根据notepad++),但结果相同。打印到此字符处停止,没有其他内容写入文件。请尝试
std::wcout@MarkRansom我已经尝试过了,很抱歉,我错误地将代码中的cout测试行粘贴到wcout中。将更新帖子。然后我将尝试@aschepler的建议:
std::wcout
Parents’s Name