C++字符串函数仅返回某些字符

C++ string function only returning certain chars

本文关键字:字符 返回 字符串 函数 C++      更新时间:2023-10-16
for(int i = 4 * scale; i > 0; i--) {
    x = -1 * i + 6;
    c = string(x, '/'); // Why Won't you work! It only prints the "" no "/"
    cout << "\_" << c << "/\" << c << "_/" << endl;
}

以上是我的代码的一部分。我的问题是为什么它只打印 \ 符号而忽略/符号。如果有人可以回答这个问题,我们将不胜感激,如果您需要更多信息,我可能忘记在这篇文章中留下,只需发表评论,我会将其添加到帖子中

一个字符常量中不能有多个字符。

您使用的编译器似乎将两个字符常量视为一个双字节整数,其中高字节是字符/,低字节是字符 \。当您将其分配给 char 时,较高的字节会丢失,就像在正常的 int-to-char 分配中一样。这就是为什么你只得到最后一个字符。