cb18a_c++_修改string对象的方法

cb18a_c++_修改string对象的方法
s.insert(p,t)
s.insert(p, 'A'); //迭代器前插入A
s.insert<p,n,t)
s.insert(p, 3, 'B');//迭代器p前插入3个B
s.insert(p,b,e)
string::iterator b = s2.begin();
string::iterator e = s2.end();
p = s.begin();
s.insert(p, b, e);

s.assign(b,e),
s.assign(b, e); //b,e指向的s2开头与结束,所以s=s2;
s.assign(n,t)
s.erase(p)
s.erase(b,e) //迭代器,b,begin,e,end();

s.insert(pos,n,c)//pos下标
s.insert(pos,s2)
s.insert(pos,s2,pos2,len)
s.insert(pos,cp,len)
s.insert(pos,cp)
s.assign(s2)
s.assign(s2,pos2,len)
s.assign(cp,len)
s.assign(cp)
s.erase(pos,len)

欢迎讨论,相互学习。 txwtech@163.com

  1 /*cb18a_c++_修改string对象的方法
  2 s.insert(p,t)
  3 s.insert(p, 'A'); //迭代器前插入A
  4 s.insert<p,n,t)
  5 s.insert(p, 3, 'B');//迭代器p前插入3个B
  6 s.insert(p,b,e)
  7 string::iterator b = s2.begin();
  8     string::iterator e = s2.end();
  9     p = s.begin();
 10     s.insert(p, b, e);
 11 
 12 s.assign(b,e),
 13 s.assign(b, e); //b,e指向的s2开头与结束,所以s=s2;
 14 s.assign(n,t)
 15 s.erase(p)
 16 s.erase(b,e) //迭代器,b,begin,e,end();
 17 
 18 s.insert(pos,n,c)//pos下标
 19 s.insert(pos,s2)
 20 s.insert(pos,s2,pos2,len)
 21 s.insert(pos,cp,len)
 22 s.insert(pos,cp)
 23 s.assign(s2)
 24 s.assign(s2,pos2,len)
 25 s.assign(cp,len)
 26 s.assign(cp)
 27 s.erase(pos,len)
 28 
 29 欢迎讨论,相互学习。 txwtech@163.com
 30 */
 31 
 32 #include <iostream>
 33 #include <string>
 34 
 35 using namespace std;
 36 
 37 int main()
 38 {
 39     string s("hello");
 40     string s2("abcdef");
 41     string::iterator p = s.begin();
 42     p++;
 43     s.insert(p, 'A'); //迭代器前插入A
 44     cout << s << endl;
 45 
 46     s.insert(p, 3, 'B');//迭代器p前插入3个B
 47     cout << s << endl;
 48 
 49     string::iterator b = s2.begin();
 50     string::iterator e = s2.end();
 51     p = s.begin();
 52     s.insert(p, b, e);
 53     cout << s << endl;
 54 
 55     s = "hello";
 56     cout << "重新赋值: s=: " << s << endl;
 57     s.assign(b, e); //b,e指向的s2开头与结束,所以s=s2;
 58     cout << "b,e指向的s2开头与结束,所以s=s2: 新结果是:" << s << endl;
 59 
 60     s.assign(8,'K');//赋值为8个K
 61 
 62     s = "abcdef";
 63     p = s.begin();
 64     s.erase(p);//删除a,
 65     cout << "删除a,后"<<s << endl;
 66 
 67     p = s.begin();
 68     p++;
 69     p++;
 70     string::iterator p2 = s.end();
 71     p2--;
 72     s.erase(p, p2);
 73     cout << "删除p到p2的内容:结果为:" << endl;
 74 
 75     
 76     s = "hello";
 77     s2 = "abc";
 78     s.insert(0, 3, 'A');
 79     cout << "使用数组下标插入数据:0开始,插入3个A:" << s << endl;
 80 
 81     s.insert(5, s2);//
 82     cout << "使用数组下标5位置插入数据:5开始,插入s2字符串" << s << endl;
 83 
 84     s2 = "123456";
 85     s.insert(0, s2, 2, 3);
 86     cout << "0位置插入s2的位置2,连续3个字符 :" << s << endl;
 87 
 88     const char *cp = "Stately plump Buck";
 89     s.assign(cp, 7);
 90     cout <<"复制cp指针开始的连续7个字符: "<< s << endl;
 91 
 92     s.assign(cp); //s=cp;
 93     s = "hello";
 94     s.insert(0, cp, 7);//
 95     cout << "0开始插入,cp位置开始,连续7个: " << endl;
 96 
 97     s.insert(0, cp);
 98     cout << "全部数据插入: " << s << endl;
 99 
100     s = "hello";
101     s2 = "abdef";
102 
103     s.assign(s2, 2, 3);
104     cout << "复制s2里面,2开始,连续3个字符" << s << endl;
105     s.assign(s2);
106     cout << "s=s2: " << endl;
107 
108     s.erase(2, 3);
109     cout << "删除s里面2开始联系3个字符:" << s << endl;
110 
111     s = "123456789";
112     s.erase(s.size() - 5, 5);
113     cout << "删除最后5个数: " << s<<endl;
114     
115     s.insert(s.size(), 5, '!');
116     cout << "最后插入5个感叹号" << s << endl;
117 
118     s = "abc";
119     s.erase(0, 1).insert(0, "A");
120     cout << "删除a,插入大写A: " << s << endl;
121     s = "abc";
122     s[0] = 'A';
123     cout << "数组索引下标直接替换修改: " << s << endl;
124     return 0;
125 }

 

posted @ 2020-02-17 16:09  txwtech  阅读(286)  评论(0编辑  收藏  举报