c++string函数详解
string,一个极为好用了函数,学好了这些函数,在模拟以及字符串问题上,回节省很多很多的写代码时间,代码复杂度以及错误率,那么这一类函数都有那些功能呢?我们来逐一介绍(让你大吃一惊,还有这种操作?)
首先,一切的一切,都要有这个头文件:
#include <cstring>
那么如何设string呢?
string s;
这就好了,这就是一个字符串,和char c[]设法相像,但是功能多太多了。
(一个string就是c[]不用谢s[100010]之类的)
而且,string支持加减,等逻辑运算!!!
例如:
int main() { string a="aabc"; string b="1221"; cout<<"a+b: "<<a+b<<endl; a=a+b; cout<<"a: "<<a+b<<endl; if(a!=b) cout<<"no"; }
运行结果是:
是不是很厉害,还有更厉害的!!!
可以初始化同样的字符:
int main() { string a(100,'s'); cout<<a; }
运行结果如下:
还可以求长度:
int main() { string a(100,'s'); cout<<a.size(); }
最重要的就是两个字符串搞事情了,重点来了!!!
int main() { string a="abc"; string b="123"; string c="bc"; a.insert(1,b);//在下表1的地方插入b cout<<a<<endl; a="abc"; a.replace(0,1,b);//将下表0~1位置换成b cout<<a<<endl; a="abc"; cout<<a.find(b)<<" "<<a.find(c)<<endl;//在字符串a中找字符串b、c。如果有则返回初始下标,没有则返回一个奇奇怪怪的数 }
运行结果如下:
还有就是删除:
int main() { string a="abc"; string b="123"; a.clear();//全部删除,简单粗暴 b.erase(0,1);//删除0~1-1的字符 cout<<a<<endl<<b; }
本期的string函数就到这里的,欢迎关注