我遇到了特定Unicode字符的问题。
假设我要打印出Október: O = U + 00F3
setlocale(LC_ALL, "");
cout << "\xF3"; //this prints ó
cout << "Okt\xF3"; //this prints Októ
cout << "Okt\xF3ber"; //this prints Oktľr
我知道打印出Október的唯一方法是:
cout << Okt\xF3 << ber;
如何创建打印Október的刺痛?
答案 0 :(得分:1)
使用
cout << "Okt\xF3\x62\x65r";
十六进制转义序列尽可能地扩展,因此有效十六进制数字的'b'
和'e'
包含在转义序列中。
答案 1 :(得分:1)
您可以使用编译时字符串连接来防止转义序列超出您的期望:
cout << "Okt\xF3" "ber";