【发布时间】:2011-11-10 19:19:08
【问题描述】:
我正在尝试使用以下代码行将字符串中的某个字符替换为空格:
str[i] = " ";
如何在不出现问题标题错误的情况下实现这一点?
【问题讨论】:
-
我会假设 C++,因为你没有说。
标签: c++ string compiler-errors
我正在尝试使用以下代码行将字符串中的某个字符替换为空格:
str[i] = " ";
如何在不出现问题标题错误的情况下实现这一点?
【问题讨论】:
标签: c++ string compiler-errors
使用单引号
str[ i ] = ' ';
在 C++ 中,标记" " 是一个字符串字面量,它表示两个字符的数组:字符集中的空格值(例如,ascii 中的值 32)和零。另一方面,标记' ' 表示具有空格值(通常为32)的单个字符。请注意,在 C 中,标记 ' ' 表示具有空格值的整数。 (在 C 中,sizeof ' ' == sizeof(int),而在 C++ 中,sizeof ' ' == sizeof(char) == 1。)
【讨论】:
单个char 文字通过单个引号获得:
str[i] = ' ';
带有双引号的文字是一个完整的字符串文字(char 的以 null 结尾的数组),但您只是替换了一个 char。
【讨论】: