STL之string

string是一种很常用的字符串类型,下面介绍它的一些用法

C++使用时要引用#include<string>头文件
1.string不支持c语言的scanf和printf

2.string 可以直接用字符串赋值

s="STL";

3.string如果没有被赋初值的话,string可以直接相加,如果没有赋初值,那么相加后结果就是加的那个字符

    s=s+'s';//此时s1内正好有's'这一个字符,字符串也一样
    s=s+'n'; //此时s1="sn"

4.可以用s.length()方法获取字符串的长度

5.利用迭代器可以给string对象插入字符

    string::iterator it;     //用insert给string对象插入字符
    it=s.begin();
    s.insert(it+3,'p');      //在string的第四个位置插入'p'字符

6.可以类似char数组进行遍历

    for(int i=0;i<s.length();i++)
    {
    }

 7.用printf输出字符串对象,c_str()将string对象转化为char*对象,返回const char*类型(可读不可改)指向字符数组的指针

printf(s.c_str());

8.sscanf的使用

    char a1[10],a2[10],a3[10];
    string ss1,ss2,ss3;
    sscanf("abc def ghi","%s %s %s",a1,a2,a3);//整型数字等其他格式类似,分隔符不一定要用空格,也可以用其他的
    ss1=a1;
    ss2=a2;
    ss3=a3;
    cout<<ss1<<" "<<ss2<<" "<<ss3<<endl;

 9.sprintf的使用

  sprintf(a1,"%d",123);//将数值转换为string,打印到字符串中

10.string字符串中的字符可以用类似数组的方法访问,如s[3]

11.string中replace()方法的使用

    s.replace(2,3,"no");//从第2个(0开始)字符开始的连续3个子字符串替换为"no"

12.string中find()方法的使用

    cout<<s.find('n')<<endl;//查找成功则返回字符或字串的下标值(从0开始,注意包括空格)
    cout<<s.find("no")<<endl;//查找失败则返回4294967295

 

13.string中compare()方法的使用

    cout<<s.compare("asd")<<endl;//若s比括号内字符串大则返回1,相等0,小于-1

 14.string中erase()方法的使用

    s.erase(it+3);
    s.erase(it,it+2);//左闭右开,即第0到1这两个元素

15.反向排序方法reverse

    reverse(s.begin(),s.end());//对string对象中的指定区间进行反向排序,头文件#include<algorithm>

16.利用s.length()方法获取string的长度

17.s.empty()判断字符串是否为空  若为空,逻辑真,返回1,反之,返回0

18.string对象作为vector中的元素

    vector<string>vt;//string对象作为vector元素
    vt.push_back("good");
    cout<<vt[0]<<endl;
    cout<<vt[0][3]<<endl;
    cout<<vt[0].length()<<endl;

 

 

 

转载于:https://www.cnblogs.com/ymbjrsh/p/8830964.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值