定义:
字符串是程序中经常要表达和处理的数据,我们通常是采用字符数组或字符指针表示字符串。STL为我们提供了另一种使用起来更为便捷的字符串的表达方式:string。string类的定义在头文件<string
>中。
string类其实可以看作是一个字符的vector,vector上的各种操作都可以适用于string,另外,string类对对象还支持字符串的拼合、转换等操作。
代码:
/*
**name:string
**function:处理字符串
**参数入口:NULL
**参数出口:NULL
*/
#include <iostream>
#include <cstring>
using namespace std;
int main(){
string s="",s1,s2;
cin>>s1>>s2;
s += s1+s2;
return 0;
}
/*
**name:stringstream
**function:流的使用
*/
#include<sstream>
#include<iostream>
#include<string>
int main(){
string line;
getline(cin,line);
int num = 0,x;
stringstream s(line);
//如果输入“1 2 3 ”字符串,则输出num = 6;
//若x是string类型,则可以充计单词的个数
while(s>>x){
num+=x;
}
cout<<num<<endl;
return 0;
}
扩展:
string s1,s2,s;
s = s1+s2;//串链接
int x = s.find(s1);// 串查找,x位s1在s中出现的起始位置
s.replace(x,len,s1);//串替换,从s的第x位置开始,让s1去替换,替换长度为len
s.insert(x,s1);//串插入,从s的x位置开始插入s1
s.erase(x,len);//串删除,x为串删除的起始位置,len为要删除的长度
s.substr(x,len);//取子串,从x位置开始取长度为len的子串
s.compare(x,len,s1);//串比较,从s的x的位置开始长度为len的子串和s1进行比较
s.begin();
s.end();
s.clear();//字符串清空
s.swap(s1);//交换字符串,交换s和s1
reverse(s.begin(),s.end());//串逆置