0

我有一个字符串 CorrAns = "Text",我想用另一个字符串中的字符替换特定位置的字符。我使用了以下内容:

CorrAns.replace(1,1,OtherString.at(pos));

但是它给出错误,最好的方法是什么?

4

4 回答 4

0

只需全面使用at(或[]操作员):

corrAns[1] = otherString[pos];

(请注意,at很少有您想要的语义。如果边界错误是前提条件失败,通常情况下,您最不想要的就是异常。)

于 2012-08-14T08:49:01.980 回答
0

你的语法是错误的。replace() 函数有几种方法。检查以下:

http://www.ansatt.hig.no/frodeh/ooprog/string2.html

于 2012-08-14T08:49:25.957 回答
0

replace没有超载size, size, char。你要

CorrAns.replace(1, 1, 1, OtherString.at(pos));

或者

CorrAns.replace(1, 1, OtherString.substr(pos, 1));
于 2012-08-14T08:50:04.993 回答
0

直接的方法是:

CorrAns[1] = OtherString[pos];

如果您坚持使用替换功能,请查看 此参考。一个正确的调用如下所示:

CorrAns.replace(1, 1, 1, OtherString.at(pos));
于 2012-08-14T08:51:11.420 回答