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

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

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

最佳答案

一个字符常量中的字符不能超过一个。

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

关于C++ 字符串函数只返回某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291170/

上一篇:C++ 舍入问题

下一篇:c++ - 多维数组分配

相关文章:

java - 小写字母到大写的 java 示例 Shildt

c++ - String.find 总是返回 true (C++)

c++ - 如何将枚举模板映射到类型模板?

php - 如何使用php将数组插入mysql

java - C++基本字符串操作

C++简单凯撒密码算法

c++ - 显式调用非默认 ctor 时覆盖自定义字符串失败

c++ libssh - ssh_channel_read() 一直返回 0 而 ssh_channel_is_open() 返回 false

c++ - g++ 字符串 remove_if 错误

c++ - 捕获无效输入的最常见/最简单的方法