使用at函数替换字符串中的字符?

时间:2012-08-14 08:43:34

标签: c++ string

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

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

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

4 个答案:

答案 0 :(得分:0)

只需使用at(或[]运算符):

corrAns[1] = otherString[pos];

(注意at很少有你想要的语义。如果是一个边界错误 一个先决条件的失败,通常就是这样,你想要的最后一件事 是一个例外。)

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

这样做的直接方法是:

CorrAns[1] = OtherString[pos];

如果您坚持使用替换功能,请查看this reference。一个正确的电话看起来像:

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