wcout不会打印正确的单引号
wcout will not print right single quotation mark
我很惊讶地发现std::wcout
不会在字符串中打印右单引号,事实上它会崩溃。此后,不会将其他内容打印到控制台。
std::wcout << L"Parents’s Name";
请注意,有问题的字符看起来像撇号,但事实并非如此,它被称为右单引号,其unicode值为0x2019。
如果我使用cout
,它会在其位置打印错误的字符,但会打印字符串的其余部分。但我正在处理unicode字符串,所以我很想知道为什么wcout
不起作用。
正如您所看到的,这并不是一个真正的特殊/控制字符,可以是字符串的一部分。我能做些什么把它打印出来吗?
假设操作系统是Windows,则将控制台模式设置为支持宽字符:
#include <iostream>
#include <io.h>
#include <fcntl.h>
int main(){
_setmode(_fileno(stdout), _O_U16TEXT);
std::wcout << L"Parents’s Name";
}
输出:
Parents’s Name
相关文章:
- 单引号在C++数学编程中是什么意思?
- wcout不会打印正确的单引号
- C++ 中数组(单引号和双引号)的可视常量字符* 与字符
- 使用带有 std::cout 的单引号打印字符串实际上打印了数字
- 匹配外部单引号之间的字符串
- 如何使用C++中不是文字的变量在数字中显示单引号和两个引号?假设 6'2" 英尺
- 正则表达式使用提升令牌迭代器在单引号和括号之间提取值
- 如何在QT中正确逃脱单引号和双引号
- 为什么'char'值必须有单引号而不是双引号?
- C++单引号语法
- 修改正则表达式以包含反斜杠和单引号(以便反斜杠表现为转义字符)
- iSpunct()未检测到单引号字符
- 以C++显示时带有单引号和双引号的不同答案
- 使用 getline() 在单引号中读取
- 在 C# 中将单引号字符串到 uint
- C/C++ 中的单引号、双引号和大小 ('a')
- PQexecParams 使用单引号失败
- 单引号(撇号)要打印到屏幕C++的字母
- C++中的转义序列用单引号括起来,而不是用双引号括起来
- c++ std::cout当我用单引号括起字符串时打印奇怪的字符