c++ string 类型操作【修改,赋值,替换】

本文详细介绍了C++中string类型的修改、赋值和替换操作,包括assign()、operator=、erase()、swap()、insert()和replace()等函数的使用方法,并提供了多个示例代码进行说明。
摘要由CSDN通过智能技术生成

字符串内容的修改

可以通过使用多个函数修改字符串的值。例如 assign(),operator=,erase(),交换(swap),插入(insert)等。另外,还可通过 append() 函数添加字符。

下面逐一介绍各成员函数的使用方法。

assign()函数

使用 assign() 函数可以直接给字符串赋值。该函数既可以将整个字符串赋值给新串,也可以将字符串的子串赋值给新串。其在 basic_string 中的原型为:

basic_string& assign (const E*s); //直接使用字符串赋值
basic_string& assign (const E*s, size_type n);
basic_string& assign (const basic_string & str, size_type pos, size_type n);
//将str的子串赋值给调用串
basic_string& assign (const basic_string& str);    //使用字符串的“引用”賦值
basic_string& assign (size_type n, E c) ; //使用 n个重复字符賦值
basic_string& assign (const_iterator first, const_iterator last);    //使用迭代器赋值

以上几种方法在例 1 中均有所体现。请读者参考下述代码。

【例 1】

 
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main()
  5. {
  6. string str1 ("123456");
  7. string str;
  8. str.assign (str1); //直接赋值
  9. cout << str << endl;
  10. str.assign (str1, 3, 3); //赋值给子串
  11. cout << str << endl;
  12. str.assign (str1,2,str1.npos);//赋值给从位置 2 至末尾的子串
  13. cout << str << endl;
  14. str.assign (5,'X'); //重复 5 个'X'字符
  15. cout << str << endl;
  16. string::iterator itB;
  17. string::iterator itE;
  18. itB = str1.begin ();
  19. itE = str1.end();
  20. str.assign (itB, (--itE)); //从第 1 个至倒数第 2 个元素,赋值给字符串 str
  21. cout << str << endl;
  22. return 0;
  23. }

operator= 函数

operator= 的功能就是赋值。

erase()函数

erase() 函数的原型为:

iterator erase (iterator first, iterator last);
iterator erase (iterator it);
basic_string& erase (size_type p0 = 0, size_type n = npos);

erase() 函数的使用方法为:

str.erase (str* begin(), str.end());
或 str.erase (3);

swap()函数

swap()函数的原型为:

void swap (basic_string& str);

swap()函数的使用方法为:

string str2 ("abcdefghijklmn");
str.swap (str2);

insert()函数

insert () 函数的原型为:

basic_string& insert (size_type p0 , const E * s); //插人 1 个字符至字符串 s 前面
basic_string&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值