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函数就到这里的,欢迎关注

原文地址:https://www.cnblogs.com/jason2003/p/7689219.html