用字符串来存储字符串
string str1,str2;
cin>>str1>>str2;
//如输入“hello, world”则str1=”hello,” str2=”world”
可直接赋值: str1=str2;
1. 字符串长度
len = str1.length();
2. 字符串比较
可以直接比较,即str1>str2;str1==str2;等
3. 连接
可以直接连接,即str1 += str2;等
4. 字符串提取
str2 = str1.substr(); //str2值被赋值为str1
str2 = str1.substr(pos1);
//如str2=str1.substr(2);则str2=”llo”;
str2=str1.substr(pos1,len1); //提取指定位置指定长度的字符串,
如str2=str1.substr(1,2) ;则str2=”el”
主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。
注意字符串中第一个字符下标为0
其中参数依次是 ( 串,开始,长度),并返回子串。
5. 字符串搜索
where = str1.find(str2); //返回str2在str1中的最先被找到的位置
where = str1.find(str2,pos1);// pos1是从str1的第几位开始。
where = str1.rfind(str2);// 从后往前搜。
6. 插入字符串
不是赋值语句。
str1.insert(pos1,str2); //如str1.insert(2,str2)则str1=”heworldllo,”
注:从str1的pos1位置处插入str2
str1.insert(pos1,str2,pos2,len2);
str1.insert(pos1,numchar,char);// numchar是插入次数,char是要插入的字符。
网上这部分的内容不多,大概STL比较常用吧。
7. 替换字符串
str1.replace(pos1,str2);
str1.replace(pos1,str2,pos2,len2);
8. 删除字符串
str.erase(pos,len);
str.clear();
9. 交换字符串
swap(str1,str2);
注意:
1.要包含头文件#include
2.在有些场合下用字符数组char st1[100]比string st2还好用些,可根据具体情况作不同选择。
3.在读入一个含有空格的字符串时用cin是不行的(cin读字符串或字符数组时,自动以空格或回车作为分格符!)