头文件 #include<string>
1.构造函数
string(); //创建一个空的字符串,例如:string str;
string(const char *s); //使用字符串s初始化 string s2(s);2
string(const string &str); //使用一个string对象初始化另一个string对象 string s3(s2);
string(int n,char c); //使用n个字符c初始化 string s4(n,'c'); s4为n个c字符
2.赋值操作
第一种:“=”操作
str="字符串" str1=str2 str3='单个字符'
第二种:assign操作
str4.assign("字符串") str5.assign("字符串",n)//将字符串前n个字符赋值给str5
str6.assign(str) //将str赋值给str6
3.字符串拼接 // 实现在字符串末尾拼接字符串
第一种:“+=”操作
str+="字符串" str+="单个字符 " str+=str1
第二种:append 操作
str.append("字符串") str.append("字符串",n)// 将字符串前n个字符拼接到str5末尾
str.append(str1)// 将str1拼接到str末尾 str.append(str1,n,len) //将str1从第n个位置截取len个字符拼接到str末尾
4.查找和替换
int p=str.find("字符串") //查找字符串在str中的位置并返回位置下标,查找不到返回-1;
rfind和find区别 rfind是从右向左查找 find是从左向右查找
str.replace(pos,n,s)//从pos位置起n个字符,替换为字符串s
例如:str="asdfghj"; str.replace(1,3,"1111") ; 那么str="a1111ghj";
5.字符串比较
str1.compare(str2) //比较str1和str2,若str1>str2,则返回值大于0,若str1=str2 ,则返回值等于0,小于同理;
6.字符存取//可以读和写
第一种:通过[ ]方式 str[ i ]就是str中第i个字符
第二种:通过at方式 str.at( i )就是str中第i个字符
7.插入和删除
str.insert(pos,"字符串")
str.erase(pos,n)//从pos位置删除n个字符
8.子串
str1=str2.substr(pos,n)//从pos位置截取n个字符