gpt4 book ai didi

c++ - C/C++ 字符串文字中的未知元字符?

转载 作者:可可西里 更新时间:2023-11-01 18:40:11 26 4
gpt4 key购买 nike

我使用以下代码段创建了一个新项目:

char* strange = "(Strange??)";
cout << strange << endl;

导致以下输出:

(Strange]

这样翻译 '??)' -> ']'

调试它表明我的 char* 字符串文字实际上是那个值,而不是流翻译。这显然不是我见过的元字符序列。也许是某种 Unicode 或宽字符序列?但是我不这么认为......我已经尝试禁用所有相关的项目设置但无济于事。

谁有解释?

  • search : '问号,问号,右括号' c c++ 字符串字面量

最佳答案

您所看到的称为 trigraph .

在大人的书面语言中,任何情况下一个问号就足够了。一次不要使用多个,您将永远不会再看到它。

GCC 默认忽略三字母,因为几乎没有人有意使用它们。使用 -trigraph 选项启用它们,或告诉编译器使用 -Wtrigraphs 选项警告您。

Visual C++ 2010 也默认禁用它们并提供 /Zc:trigraphs 来启用它们。我找不到任何关于在以前的版本中启用或禁用它们的方法。

关于c++ - C/C++ 字符串文字中的未知元字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1669448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com