我有一个字符串 CorrAns = "Text",我想用另一个字符串中的字符替换特定位置的字符。我使用了以下内容:
CorrAns.replace(1,1,OtherString.at(pos));
但是它给出错误,最好的方法是什么?
只需全面使用at
(或[]
操作员):
corrAns[1] = otherString[pos];
(请注意,at
很少有您想要的语义。如果边界错误是前提条件失败,通常情况下,您最不想要的就是异常。)
你的语法是错误的。replace() 函数有几种方法。检查以下:
replace
没有超载size, size, char
。你要
CorrAns.replace(1, 1, 1, OtherString.at(pos));
或者
CorrAns.replace(1, 1, OtherString.substr(pos, 1));
直接的方法是:
CorrAns[1] = OtherString[pos];
如果您坚持使用替换功能,请查看 此参考。一个正确的调用如下所示:
CorrAns.replace(1, 1, 1, OtherString.at(pos));