STL---string
Posted luojianyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL---string相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<string> using namespace std; int main() { //string构造函数 string str1; cout << str1.c_str() << endl; //c_str 返回一个const char *的头指针 string str2(5, ‘a‘); //第一个参数是一个size_t 的类型,第二个参数是一个字符类型 cout << str2.c_str() << endl; string str3("luojianyi"); //第二种构造函数 cout << str3.c_str() << endl; string str4("abcdefg", 3); //第一个参数是const char *的类型,然后第二个是取得第一个参数的前几个 cout << str4.c_str() << endl; string str5(str3, 1, 5); //第一个参数是一个string类型,第二和第三个参数是一个范围 cout << str5.c_str() << endl; string str6(str3); //拷贝构造函数 cout << str6.c_str() << endl; //string 的重载运算符 string str7; cin >> str7; cout << str7 << endl; cout << str7[3] << endl; cout << str7.at(3) << endl; return 0; }
#include<iostream> #include<string> using namespace std; int main() { string str1(5, ‘w‘); //指定下标的修改 str1[1] = ‘a‘; str1.at(2) = ‘b‘; cout << str1.c_str() << endl; //中间插入 //way 1 string str2("abcdefg"); string str3("lllll"); str2.insert(2,str3); //在str2下标为2的地方插入str3 cout << str2.c_str() << endl; //way 2 string str4("abcdef"); string str5("abcdefg"); str4.insert(3, str5, 0, 2); //将str5的0 1 下标插入到str4的下标的3位置 cout << str4.c_str() << endl; //way 3 string str6("abcdef"); str6.insert(3, 5, ‘v‘); //在str6下标为3的地方插入5个‘v’ cout << str6.c_str() << endl; //尾巴插入 //way 1 重载+=运算符 string str7("aaaaa"); string str8("bbbbb"); str7 += str8; cout << str7.c_str() << endl; str7 += "ccccc"; cout << str7.c_str() << endl; //append string str9("aaaaa"); str9.append("bbbbb"); cout << str9.c_str() << endl; //append 还有其他添加方式,需要的时候可以去查询 //重新赋值 // 重新 = // cin>> // 使用assign方法 //eraser方法 string str10("abcdefg"); str10.erase(2, 3); //从下标为2的地方擦除3个元素 cout << str10.c_str() << endl; return 0; }
#include<iostream> #include<string> using namespace std; int main() { string str1("abc"); string str2("abcd"); //比较函数 重载运算符 cout << (str1 > str2) << endl; //这里使用运算符进行比较的时候需要加上括号 //compare 函数 cout << str1.compare(str2) << endl; //比较函数的定义 //从两个字符串第一个开始按照ascii码进行比较 //abc 和 abcd 前三个字符都是相等的,的那个比较第四个字符的时候,前面的字符串已经没有了,所以后面一个字符串大 //abc 和 av 当比较到第二个字符的时候,v 大于 b 所以后面一个字符串大 return 0; }
#include<iostream> #include<string> using namespace std; int main() { //查找 string str1("abcdef"); string str2("bc"); cout << str1.find(str2, 0) << endl; //从str1的下标0开始寻找str2 cout << str1.find(str2, 2) << endl; //从str1的下标2开始寻找str2 cout << (int)str1.find(str2, 2) << endl; //将上面一条语句返回的结果强转为int //返回子串 string str3("abcdefg"); cout << str3.substr(2, 3) << endl; //从下标为2开始返回三个字符子串 //交换 string str4("abc"); string str5("abcde"); str5.swap(str4); cout << str4 << endl; cout << str5 << endl; return 0; }
以上是关于STL---string的主要内容,如果未能解决你的问题,请参考以下文章