string的概念string是c专门创建的字符串类型为了方便操作字符串。string中很多的方法。string的基本操作首先要包含头文件string.创建有初始化的创建它的末尾不以\0为结尾。123456789#include iostream#includestringusingnamespacestd;intmain() {string ahello world;//string a(hello world);couta;return0;}string可以直接赋值12345678910#include iostream#includestringusingnamespacestd;intmain() {string a;string b(hello world);ab;couta;return0;}输入cin输入不能输入空格123456789#include iostream#includestringusingnamespacestd;intmain() {string a;cina;couta;return0;}getline是c标准函数读取一行文本存储为字符。istreamgetlineistream isstringstr遇到\n停止。123456789#include iostream#includestringusingnamespacestd;intmain() {string a;getline(cin,a);couta;return0;}istreamgetlineistream isstringstrchar delim直到遇到delim字符停止123456789#include iostream#includestringusingnamespacestd;intmain() {string a;getline(cin,a,m);//读到m停止couta;return0;}获取长度sizestring有很多函数用 . 使用1234567891011121314#include iostream#includestringusingnamespacestd;intmain() {string b;string aabcd;string cabcdefg;string dj k l l l;couta.size()endl;coutb.size()endl;coutc.size()endl;coutd.size()endl;return0;}string的数据也有下标和正常创建的字符数组一样从0开始。迭代器用来遍历容器元素。iterator类似指针数组下标。需要*解引用。begin和endbegin指向第一个位置end指向最后的下一个位置不存在于字符串。可以比较大小加减。12345678910111213#include iostream#includestringusingnamespacestd;intmain() {string ahello world;string::iterator it1a.begin();string::iterator it2a.end();if(it1it2)coutendl;elsecoutendl;return0;}可以通过*解引用输出存储的字符。1234567891011121314#include iostream#includestringusingnamespacestd;intmain() {string ahello world;string::iterator it1a.begin();string::iterator it2a.end();cout*it1endl;//[0]it1;cout*it1endl;//[1]it1--;cout*it1endl;//[0]return0;}使用迭代器遍历。12345678910111213141516#include iostream#includestringusingnamespacestd;intmain() {string aabcdef;string::iterator it1a.begin();string::iterator it2a.end();for(string::iterator i a.begin(); i ! a.end(); i) {cout *i;}coutendl;for(auto iit2-1;iit1;--i){cout*i;}return0;}还有反向迭代器reverse_iterator 类型的rbeginrend刚好相反。尾插函数a.push_back();在字符串尾部插入字符12345678910#include iostream#includestringusingnamespacestd;intmain() {string aabcdef;coutaendl;a.push_back(g);coutaendl;return0;}和运算也可以头部拼接。尾删pop_back()空的情况下删除会报错。insert()插入a.insert(pos , str)在a字符串中的pos位置前插入str字符串。str可以是string类型的内容可以是字符串如下图。a.insertposnstr插入n个str的字符到pos前。