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

时间:2013-06-25 07:07:26

标签: c++ string char backslash

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;
}

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

1 个答案:

答案 0 :(得分:3)

角色常量中不能包含多个字符。

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