1

我遇到了特定 Unicode 字符的问题。

假设我想打印出 Október:ó=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 的刺痛?

4

2 回答 2

1

采用

cout << "Okt\xF3\x62\x65r";

十六进制转义序列尽可能地扩展,因此作为有效的十六进制数字的'b'and'e'包含在转义序列中。

于 2013-04-05T21:50:00.427 回答
1

您可以使用编译时字符串连接来防止转义序列超出您的预期:

cout << "Okt\xF3" "ber";
于 2013-04-05T21:52:40.623 回答