C++primer 9.5.2节练习

练习9.43、练习9.44

 1 #include<iostream>
 2 #include<vector>
 3 #include<list>
 4 #include <string>
 5 #include <cstring>
 6 
 7 using namespace std;
 8 
 9 void change(string &s, string &oldVal, string &newVal);
10 
11 int main()
12 {
13     string s{ "qwer though through" };
14     string s1{ "though" };
15     string s2{ "tho" };
16     change(s, s1, s2);
17     cout << s << endl;
18     system("pause");
19     return 0;
20 }
21 
22 void change(string & s, string & oldVal, string & newVal)
23 {
24     for (int i = 0; i != s.size(); ++i)
25     {
26         if (s.substr(i, oldVal.size()) == oldVal)
27         {
28             //s.erase(i, oldVal.size());
29             //s.insert(i, newVal);
30             s.replace(i, oldVal.size(), newVal);
31         }
32     }
33 }

练习9.45

 1 #include<iostream>
 2 #include<vector>
 3 #include<list>
 4 #include <string>
 5 #include <cstring>
 6 
 7 using namespace std;
 8 
 9 void insert_str(string &s, string &s1, string &s2);
10 
11 int main()
12 {
13     string s{ "qwer though through" };
14     string s1{ "though" };
15     string s2{ "tho" };
16     insert_str(s, s1, s2);
17     cout << s << endl;
18     system("pause");
19     return 0;
20 }
21 
22 
23 void insert_str(string &s, string &s1, string &s2)
24 {
25     auto it = s.begin();
26     s.insert(0, s1);
27     s.append(s2);
28 }

练习9.46

 1 #include<iostream>
 2 #include<vector>
 3 #include<list>
 4 #include <string>
 5 #include <cstring>
 6 
 7 using namespace std;
 8 
 9 void insert_str(string &s, string &s1, string &s2);
10 
11 int main()
12 {
13     string s{ "qwer though through" };
14     string s1{ "though" };
15     string s2{ "tho" };
16     insert_str(s, s1, s2);
17     cout << s << endl;
18     system("pause");
19     return 0;
20 }
21 
22 
23 void insert_str(string &s, string &s1, string &s2)
24 {
25     s.insert(0, s1);
26     s.insert(s.size(), s2);
27 }

 

posted @ 2017-08-11 16:37  五月份小姐  阅读(264)  评论(0)    收藏  举报