c++primer 4th edithon 第324页的一个练习题(9.43和9.44)
生活随笔
收集整理的這篇文章主要介紹了
c++primer 4th edithon 第324页的一个练习题(9.43和9.44)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下標(biāo)的方法:
9.43題
#include <iostream> #include <string> using namespace std; void replace_(string &s,const string &oldval,const string & newval) {for(size_t i = 0;i != s.size(); ++ i){if(s[i] == oldval[0]){string temp(s,i,oldval.size());cout << "Temp is:"<< temp << endl;if(temp == oldval){s = s.erase(i,oldval.size());s = s.insert(i,newval);cout << "old i is:" << i << endl;i = i + newval.size() - 1;cout << "new i is :"<<i <<endl << endl;if(i == s.size()){cout << "yes,break it"<<endl << endl;break;}}}} } int main() { string oldval{"tho"};string s{"asdfasthoasdfthoasdstho"},ss;string newval{"thouth"};replace_(s,oldval,newval);return 0; }9.44題
迭代器的方法:
#include <iostream> #include <string> using namespace std; //replace oldval by newval object to s1 void replace_(string &s1,const string & oldval,const string & newval) {for(string::iterator it = s1.begin();it != s1.end() ; ++ it){if(*it == *oldval.begin()){string new_str(it,it + oldval.size());if(new_str == oldval){it = s1.erase(it,it+oldval.size());it = s1.insert(it,newval.begin(),newval.end());it += 5; }}} return ; } int main() {string s1 = "asdfasdfthoasdfthoasftho";string oldval = "tho";string newval = "though";unsigned cnt = 1;cout << s1 <<endl;replace_(s1,oldval,newval);cout << s1 <<endl;return 0; }?
總結(jié)
以上是生活随笔為你收集整理的c++primer 4th edithon 第324页的一个练习题(9.43和9.44)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 运行Python程序的2种方式
- 下一篇: s3c2440移植MQTT