从'const char *'无效转换为'char'

我正在尝试用空格replacestring中的某个字符使用下面的代码行:

str[i] = " "; 

怎样才能实现这个没有得到问题的标题中的错误?

使用单引号

 str [i] ='';

在C ++中,标记“”是一个string字面值,它表示一个由两个字符组成的数组:字符集中空格的值(例如,ascii中的值32)和一个零。 另一方面,令牌“'代表一个空格值(通常是32)的单个字符。 请注意,在C中,标记“'表示一个空格值的整数。 (在C中,sizeof('')== sizeof(int),而在C ++中,sizeof('')== 1)

char文字用引号获得:

 str[i] = ' '; 

带有双引号的文字是一个完整的string文字(一个以null结尾的char数组),但是你只replace了一个char