C++ string类insert用法总结

basic_string& insert( size_type index, size_type count, CharT ch );
在index位置插入count个字符ch
string str = "meihao";
string sstr = str.insert(0,2,'a');
cout<<sstr<<endl;   //aameihao
basic_string& insert( size_type index, const CharT* s );
index位置插入一个常量字符串
string str = "meihao";
string sstr = str.insert(1,"hello~");
cout<<sstr<<endl;   //mhello~eihao
basic_string& insert( size_type index, const CharT* s, size_type count );
index位置插入常量字符串中的count个字符
string str = "meihao";
string sstr = str.insert(1,"hello~",3);
cout<<sstr<<endl;  //mheleihao
basic_string& insert( size_type index, const basic_string& str );
index位置插入常量string
string str = "meihao";
string sstr = str.insert(1,str);
cout<<sstr<<endl;  //mmeihaoeihao
basic_string& insert( size_type index, const basic_string& str,
                      size_type index_str, size_type count );
index位置插入常量str的从index_str开始的count个字符
string str1 = "meihao";
string str2 = "hello~";
string sstr = str2.insert(6,str1,3,3);
cout<<sstr<<endl;  //hello~hao
basic_string& insert( size_type index, const basic_string& str,
                      size_type index_str, size_type count = npos);
index位置插入常量str从index_str开始的count个字符,count可以表示的最大值为npos.这个函数不构成重载
npos表示一个常数,表示size_t的最大值,string的find函数如果未找到指定字符,返回的就是一个npos
string str1 = "meihao";
string str2 = "hello~";
string sstr = str2.insert(6,str1,3,string::npos);
cout<<sstr<<endl;   //hello~hao
cout<<string::npos<<endl;   //4294967295
iterator insert( iterator pos, CharT ch );
iterator insert( const_iterator pos, CharT ch );
string str1 = "meihao";
string::iterator it = str1.insert(str1.begin(),'a');
// string::iterator it = str1.insert(str1.cbegin(),'a');  //第二种
cout<<str1<<endl;   //ameihao
cout<<*it<<endl;  //a
void insert( iterator pos, size_type count, CharT ch );
迭代器指向的pos位置插入count个字符ch

string str1 = "meihao";
str1.insert(++str1.begin(),2,'a');
cout<<str1<<endl;   //maaeihao
iterator insert( const_iterator pos, size_type count, CharT ch );
迭代器指向的pos位置插入count个字符ch
string str1 = "meihao";
string::iterator it = str1.insert(++str1.cbegin(),2,'a');  //和上面的可以混用
cout<<str1<<endl;  //maaeihao
void insert( iterator pos, InputIt first, InputIt last );

iterator insert( const_iterator pos, InputIt first, InputIt last );
string str1 = "meihao";
string str2 = "hello";
//string::iterator it = str1.insert(str1.begin(),str2.begin(),str2.end());
string::iterator it = str1.insert(str1.begin(),std::begin(str2),std::end(str2));
cout<<str1<<endl;  //hellomeihao
cout<<*it<<endl;  //h

转载于:https://www.cnblogs.com/meihao1203/p/9670680.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值