求a.replace()具体用法?

ppk_master 2009-08-19 10:46:17
菜鸟初学c++,对下面代码里面的a.replace()用法不慎明了,还望大侠赐教


//=====================================
// f0305.cpp
//=====================================
#include<iostream>
#include<algorithm>
using namespace std;
//-------------------------------------
int main(){
string a, s1 = "Hello ";
string s2 = "123";
a = s1; // copy
cout<<(a==s1 ? "" : " not")<<"equal\n"; // compare
cout<<(a+=s2)<<endl; // concatenate
reverse(a.begin(), a.end()); // reverse
cout<<a<<endl;
cout<<a.replace(0,9,9,'c')<<endl; // set cout<<(s1.find("ell")!= -1 ? "" : "not ")<<"found\n";// find string
cout<<(s1.find('c')!= -1 ? "": "not ")<<"found\n"; // find char
}//====================================



...全文
348 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxl_198602 2010-05-04
  • 打赏
  • 举报
回复
学习了,我也不知道
ppk_master 2009-08-19
  • 打赏
  • 举报
回复
谢谢大家~_~
  • 打赏
  • 举报
回复
汗,MSDN讲得没这么不清楚吧
wxdcxp 2009-08-19
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1,s = "aaaaaaaa";
cout << s.replace(0,4,4,'b')<<endl;
return 0;
}

上面有段简单的代码,试一下就知道replace什么作用了
输出为bbbbaaaa
0表示从第0个字符开始,4表示替换4个字符
不知道你用什么编译器程序里少了个#include <string>
也可以编译的过
pengzhixi 2009-08-19
  • 打赏
  • 举报
回复
关于string的replace 有几种形式
replace(size_type idx,size_type len,const string&str)
从idx开始最长为len的字符替换为str
replace(iterator beg,iterator end,const string&str)

replace(size_type idx,size_type len,const string&str,size_type str_idx,size_type str_num)

replace(size_type idx,size_type len,const char * str)
replace(iterator beg,iterator end,const char* str)

replace(size_type idx,size_type len,const char *str,size_type chars_len)
replace(iterator beg,iterator end,const char *str,size_type chars_len)

再加上mstlp所讲述的
mstlq 2009-08-19
  • 打赏
  • 举报
回复
a.replace(0,9,9,'c')
替换字符,从哪里开始替换呢?
从下标0开始替换字符…… 参数1
替换多少个字符呢?
替换9个字符…… 参数2
用什么来替换呢?
用9个'c'来替换…… 参数3 & 4
mstlq 2009-08-19
  • 打赏
  • 举报
回复
string& replace( size_type index, size_type num1, size_type num2, char ch );

replaces up to num1 characters in the current string (beginning at index) with num2 copies of ch

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧