从'const char*'到'char'的无效转换

Deb*_*ger 6 c++ string compiler-errors

我试图使用以下代码行用空格替换字符串中的某个字符:

str[i] = " ";
Run Code Online (Sandbox Code Playgroud)

如何在没有得到问题标题中的错误的情况下实现这一点?

Wil*_*ell 16

使用单引号

str[ i ] = ' ';

在C++中,标记""是一个字符串文字,表示两个字符的数组:字符集中空格的值(例如,ascii中的值32)和零.另一方面,令牌''表示具有空格值(通常为32)的单个字符.注意,在C中,标记''表示具有空格值的整数.(在C中,sizeof('')== sizeof(int),而在C++中,sizeof('')== 1.)


Lig*_*ica 5

char使用引号获得单个文字:

str[i] = ' ';
Run Code Online (Sandbox Code Playgroud)

带双引号的文字是一个完整的字符串文字(以null结尾的数组char),但你只是替换了一个char.