c++中string的用法
2017-10-25 17:42
267 查看
#include<iostream> #include"string" #include"algorithm" using namespace std; //string的赋值 void f1() { string s1 ="shihao"; //string是一个类 string s2 ("bbbbbb"); string s3 = s1; string s4(10, 'a'); //等价于string s4 ="aaaaaaaaaa"; cout << s1 << endl; cout << s2 << endl; cout << s3 << endl; cout << s4 << endl; } //string的遍历 void f2() { string s1 = "abcdefg"; //1:数组方式 for(int i = 0; i < s1.length(); i++) { cout << s1[i] << " "; } cout << endl; //2:迭代器 for(string::iterator it = s1.begin(); it != s1.end(); it++) { cout << *it << " "; } cout << endl; //3 异常处理 try { for(int i = 0; i < s1.length() + 3; i++) { cout << s1.at(i) << " "; //当出现错误时, 会向外抛出异常 } } catch(...) { cout << "发生异常" << endl; } try { for(int i = 0; i < s1.length() + 3; i++) //出现错误, 不向外抛出异常 { cout << s1[i] << " "; } } catch(...) { cout << "发生异常" << endl; } } //字符指针和sting的转换 void f4() { //1: string s1 = "aaabbb"; cout << s1.c_str() << endl; //2: char buf[128] = {0}; s1.copy(buf, 3, 1); //拷贝3个字符,从1个字符开始(位置下标从0开始) //注:不会自动加上字符串结束标志 cout << "buf: " << buf << endl; } //字符串的连接 void f5() { //1: string s1 = "aaa"; string s2 = "bbb"; s1 = s1 + s2; cout << "s1: " << s1 << endl; //2: string s3 = "333"; string s4 = "444"; s3.append(s4); cout << "s3: " << s3 << endl; } //字符串的查找和替换 void f6() { string s1 = "wbm hello wbm 111 wbm 222 wbm 333"; //查找 从查找位置开始第一个出现的下标 int index = s1.find("wbm", 1); //位置下标从0开始 cout <<"index: " << index << endl << endl; //查找每一次wbm出现的下标 int offindex = s1.find("wbm", 0); while (offindex != string::npos) //不等于-1 { cout << "offindex: " << offindex << endl; offindex++; offindex = s1.find("wbm", offindex); } //把所有的wbm换成大写 offindex = s1.find("wbm", 0); while (offindex != string::npos) //不等于-1 { s1.replace(offindex, 3, "WBM"); offindex++; offindex = s1.find("wbm", offindex); } cout << endl << "s1替换后的结果为: " << s1 << endl; //把aaa替换成大写 string s2 = "aaa bbb ccc"; s2.replace(0, 3, "AAA"); //从第0个位置开始替换3个 cout << endl << "s2: " << s2 << endl; } //区间删除和插入 void f7() { string s1 = "hello1 hello2 hello1"; string::iterator it = find(s1.begin(), s1.end(), 'l'); if (it != s1.end()) { s1.erase(it); //删除 } cout << "s1删除l以后的结果为:" << s1 << endl; s1.erase(s1.begin(), s1.end()); cout << "s1全部删除:" << s1 << endl; cout << "s1的长度为: " << s1.length() << endl; //插入 string s2 = "BBB"; s2.insert(0, "AAA"); cout << "s2: " << s2 << endl; } //大小写转换 void f8() { string s1 = "AAAbbb"; transform(s1.begin(), s1.end(), s1.begin(), ::tolower); //transform(first,last,result,op); cout << "s1全部转化为小写为: " << s1 << endl; transform(s1.begin(), s1.end(), s1.begin(), ::toupper); //transform(first,last,result,op); cout << "s1全部转化为大写为: " << s1 << endl; } int main() { f8(); return 0; }
相关文章推荐
- c++中的string用法 一
- c++中的string用法
- c++中的string用法(一)
- c++中的string常用函数用法总结
- C++中的 istringstream 的用法
- string在c++中的各种用法分析
- C++中string的用法
- string在C和C++中的用法
- C++学习 对string和stringstream用法认知
- C++中处理字符串的Class-----string 用法详解
- C++中string的用法
- C++的string的用法详解
- C++ stringstream的用法
- c++中的string用法总结
- c++中string的用法
- c++中的string用法(二)
- c++中string的用法
- c++中string的用法
- C++中string相关函数用法
- 深入C++ string.find()函数的用法总结