因为C中除了字符数组以外没有直接与字符串相关的变量类型,在处理一些问题的时候不是很方便。所以C++提供新的数据类型——字符串类型(string类型),在使用方法上,它和char、int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。
实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象(注意头文件形式 #include<string>)。
string可以构造一个字符串变量,那么它的操作有哪些呢。它包含在string库中(不是string.h没有.h),它可以和定义一个字符一样定义一个字符串变量,而且强大的C++还内置了各种函数,基本实现不用再手写操作函数。而且可以进行字典序的比较和串操作。
一、string字符串变量常用方法
方法总结及部分结果展示如下:
#include<bits/stdc++.h>using namespace std;int main(){string s="61116";string s2="71117";cout<<s+s2<<endl;//连接两个字符串cout<<(s>s2) <<endl;//比较两个字符串的大小 //上面比较两个字符串的大小结果是 true 或者 false 在这里是 1 或者 0 cout<<s.substr(3,3)<<endl;//substr(n,l) 从第n个位置截取长度为l的字串,若超过最大长度,则截取到最后。 cout<<s.substr(3,5)<<endl;s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其他用法,详情可百度)s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器s.erase(it);//删除一个字符,it为迭代器s.size();//返回字符串s的长度大小s.begin();//返回首位置的迭代器s.end();//返回末位置的迭代器s.insert(it,ch);//在it位置插入ch字符,it为迭代器s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分s.empty();//判断是否为空串s.length();//返回字符串的长度s.max_size();//返回当前系统string对象可存放的最大长度s.capacity();//返回当前容量s.at(k);//返回第k+1个字符(该用法会坚持是否越界)s.c_str();//返回C字符串的指针,内容为s串s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::nposs.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有很多其他用法)s.swap(s2);//交换两个string字符串return 0; }