我正在尝试使用以下代码行用空格替换字符串中的某个字符:
str[i] = " ";
如何在不在问题标题中出现错误的情况下实现这一点?
答案 0 :(得分:16)
使用单引号
str[ i ] = ' ';
在C ++中,标记“”是一个字符串文字,表示两个字符的数组:字符集中空格的值(例如,ascii中的值32)和零。另一方面,令牌''表示具有空格值(通常为32)的单个字符。注意,在C中,标记''表示具有空格值的整数。 (在C中,sizeof('')== sizeof(int),而在C ++中,sizeof('')== 1.)
答案 1 :(得分:5)
单个char
文字是使用单引号获得的:
str[i] = ' ';
带双引号的文字是一个完整的字符串文字(char
的以空字符结尾的数组),但你只是替换了一个char
。