咱们知道string能够构造一个字符串变量,那么它的操做有哪些呢。它包含在string库中(不是string.h没有.h),它能够和定义一个字符同样定义一个字符串变量,并且强大的C++还内置了各类函数,基本实现不用再手写操做函数。并且能够进行字典序的比较和串操做。html
如何或者string串中的某一位字符呢,咱们使用数组下面的方式就能够访问。数组
例如app
string s = "abcdef"; cout << s[0] << endl;
结果就应该是输出了字符'a',同时string类型也能够直接加上另外一个字符串,例如函数
string a = "abc", b = "bcd"; a = a + b; cout << a << endl;
结果应该输出字符串“abcbcd”。spa
在string类型中其实包括了不少函数,例如指针
1 string s = "a"; 2 s.append(2,'b');//s.append(n,c);在s串后面加入n个c字符(append还有其余用法,详情可百度) 3 s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某个区间,l,r都为迭代器 4 s.erase(it);//删除一个字符,it为迭代器 5 s.size();//返回字符串s的长度大小 6 s.begin();//返回首位置的迭代器 7 s.end();//返回末位置的迭代器 8 s.insert(it,ch);//在it位置插入ch字符,it为迭代器 9 s.resize(len,c);//把字符串当前大小置为len,并用c填充不足的部分 10 s.empty();//判断是否为空串 11 s.length();//返回字符串的长度 12 s.max_size();//返回当前系统string对象可存放的最大长度 13 s.capacity();//返回当前容量 14 s.at(k);//返回第k+1个字符(该用法会坚持是否越界) 15 s.c_str();//返回C字符串的指针,内容为s串 16 s.find(s1);//查找s中是否包含s1,并返回头位置,找不到则返回string::npos 17 s.replace(k,x,ch);//从k位置开始,把后面的x个元素替换为ch(还有不少其余用法) 18 s.swap(s2);//交换两个string字符串
并且string还支持直接比较两个字符串的大小(内置字典序比较方式)。除了上面写了的外,string其实还有不少函数。code
emmm写到一半发现了个讲的很全的博客,不写了 ==htm