error C2440: “=”: 无法从“const std::string”转换为“char 这个怎么改,求 10

#include<string>#include<algorithm>usingnamespacestd;intmain(){strings1="abcdefghi";s... #include<string>
#include<algorithm>
using namespace std;
int main()
{
string s1="abcdefghi";
string s2="abc";
string s3="kgh";
replace(s1.begin(),s1.end(),s2,s3);
return 0;
}
这是截图
展开
 我来答
匿名用户
2012-05-27
展开全部
replace 函数用法错误。
如果是想要替换字符串应该是用 string 的 replace 的方法。
追问
那应该怎么查找s2并用s3替换s2呢
追答
是不是想要将 s1 中的 s2 字符串替换成 s3 字符串?

#include
#include
#include

using namespace std;

int main()
{
string s1 = "abcdefghi";
string s2 = "abc";
string s3 = "kgh";

string::size_type pos = s1.find( s2 );
s1.replace( pos, s2.size(), s3 );

cout << s1 << endl;
}
百度网友b3a3807
2012-05-27 · TA获得超过315个赞
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:246万
展开全部
是哪一行报错了?
我感觉错误像是replace函数不接受string类型的参数造成的。但不确定,你最好把错误的完整信息贴过来。。。
更多追问追答
追问
这是截图
追答
是replace函数调用出错了吗?你双击下错误那行会有小标记显示哪一行的。另外我不清楚你的replace函数具体是做什么的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iicup
2012-05-27 · TA获得超过890个赞
知道小有建树答主
回答量:597
采纳率:85%
帮助的人:175万
展开全部
用string::replace代替std::replace
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书来了
2012-05-27 · 好书推荐 | 知识分享 | 读书成长
书来了
采纳数:105 获赞数:579

向TA提问 私信TA
展开全部
试试
replace(s1.begin(),s1.end(),s2.c_str(),s3.c_str());
s2,s3 的char
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28e9be2
2012-05-27 · TA获得超过609个赞
知道小有建树答主
回答量:499
采纳率:100%
帮助的人:604万
展开全部
这样试试
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string s1("abcdefghi");
string s2("abc");
string s3("kgh");
replace(s1.begin(),s1.end(),s2,s3);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式