导航
1.string认识
2.string 赋值操作
3.string 拼接操作
4.string 查找,替换
———————————————————————————————————
1.string认识
本质是一个类
string与char*区别
char *是一个指针
string 是一个类,类内部封装了char *,管理这个字符串,是一个char *容器
构造函数原型:
string(); //创建一个空的字符串,例如string str
string(const char *s); //使用字符串s进行初始化
string(const string &str); //使用一个string对象初始化另一个对象
string(n,ch); //创建n个字符ch 进行初始化
例子:
#include <iostream> using namespace std; #include <string> void test01() { string s1; //默认构造 const char *str = "Hello World"; string s2(str); //使用字符串str初始化 cout<<"s2 = "<<s2<<endl; string s3(s2); //使用一个string对象初始化另一个对象 cout<<"s3 = "<<s3<<endl; string s4(10,'a'); //使用10个字符‘a’进行初始化 cout<<"s4 = "<<s4<<endl; } int main() { test01(); system("pause"); return 0; }
———————————————————————————————————
2.string 赋值操作
常用六个
例子:
#include <iostream> using namespace std; #include <string> void test01() { //1.string& operator=(const char *s) string str1; str1 = "hello 2020"; cout<<"str1 = "<<str1<<endl; //2.string& operator=(const string &s) string str2; str2 = str1; cout<<"str2 = "<<str2<<endl; //3.string& operator=(char ch) string str3; str3 = 'a'; cout<<"str3 = "<<str3<<endl; //4.string& assign(const char *s) string str4; str4.assign("hello 2020"); //5.string& assign(const string &s) string str5; str5.assign(str4); cout<<"str5 = "<<str5<<endl; //6.string& assign(int n,char ch) string str6; str6.assign(10,'a'); cout<<"str6 = "<<str6<<endl; } int main() { test01(); system("pause"); return 0; }
———————————————————————————————————
3.字符串拼接
string& operator+=(const char *s)
string& operator+=(const char ch)
string& operator+=(const string &s)
string& append(const char *s)
string& append(const char *s,int n)
string& append(const string &s)
string& append(const string &s,int pos ,int n)
———————————————————————————————————
4.字符串查找替换
.find() .rfind() //从右往左找 .replace(int pos,int n, str) //将pos-n,替换成str
字符串比较:s.compare(str) //相等返回0,大于返回1,小于返回-1
字符串存取:str[],str.at() //并且也可以进行赋值
字符串插入删除:.insert(int n,string str), .erase(1,3) //从第1到第3删除
字符串获取字串:.substr(1,3) //获取位置为1-3的自处啊