- 分享
#STL-String部分笔记
- @ 2023-7-26 15:26:38
#include<string>//string类型头文件
using namespace std;
int main(){
//容器、方法、迭代器
//容器的定义方法
string s1; //定义一个空字符串
string s2("hello"); //定义一个有内容的字符串
string s3(10,'s');//定义一个有10个s字符的字符串
string s4(s2);//将s2复制给s4
//容器的方法
s2.clear();// 清空字符串
s2.empty();//判断字符串是否为空
s2.push_back('s');//在末尾插入一个s字符
s2.pop_back();//删除末尾的一个元素
s2.begin();
s2.end();
//插入:
s2.insert(pos,"ddw");//在pos位置插入一个字符串
s2.insert(2,"sdadw");//在第二号下标的位置插入
//拼接:
s2.append(s3);//把s2和s3拼在一起
s2.append("dawdaw");
//删除:
s2.erase(8,5);//从第8号位置往后删5个元素,包括8
s2.erase(s2.end()-1);//直接删除某个位置
s2.erase(s2.begin(),s2.end());//左闭右开
//查找:
s2.find(s3);//找到了,就返回匹配的第一个位置
s2.find('s');
//反向查找:
s2.rfind('p'); //从右往左查找,返回位置
//比较
s2.compare(s3);//如果长度、字符都一样,就返回0
//如果s2比s3第一个不一样的字符小,或者长度小,返回-1
//如果大,就返回1
//替换
s2.replace(6,4,"aaaa");//从6号开始,往后的4个换成aaaa
//交换
s2.swap(s3);//交换两个字符串的内容
//长度
s2.length();//求s2的长度
s2.size();//求s2的长度
//string类型的访问
//下标访问
for(int i = 0;i<s2.length();i++)
//使用at()访问
for(int i = 0;i<s2.size();i++){
cout << s2.at(i)<<endl;
}
//迭代器
string::iterator it;
for(it = s2.begin();it!=s2.end();it++){
cout << *it<<endl;
}
//将字符数组转化为字符串
char str[]="hello world";
string sn(str);
//提取子串
string sa("abcdefg");
string sc;
sc=sa.substr(2,4);//从2开始往后数4个字符,赋值给sc
//输入方法
//1.cin
cin >> s2;//缺点是不能读入空格
//2.getline
getline(cin,s2);//可以读空格
}
1 条评论
-
董的都懂 @ 2023-8-4 8:25:34666
- 1