初入紫书门(c++简单STL的应用之string)

初入紫书门(c++简单STL的应用之string)


前言

不得不说,我就是一个普通人,唉😔。我在刚开始学习紫书的过程中,我遇见了许多困难,同时,也学到了许多知识,有许多收获。现在,我就想把我这几天的学习经历记录下来


一、C++中的string类型。

以前⽤char[]的⽅式处理字符串很繁琐,现在有了string类,定义、拼接、输出、处理都更加简单啦~
不过string只能⽤cin和cout处理,⽆法⽤scanf和printf处理:
对:cin>>s

从标准输入读取string,并将读入的串存储在s中。

a.读取并忽略开头所有的空白字符(如空格,换行符,制表符,进纸符)

b.读取字符直至再次遇到空白符,读取终止

但是注意了,用cin读入string类型的数据时,键盘输入的过程中遇见空格自动终止读入,要想读入带有空格的字符串,就要用
getline(cin, s)的方式

1.string类型的初始化

四种初始化的方式 :

string s1; ——> s1为空串

string s2(“ABC”); ——> 用字符串字面值初始化s2

string s3(s2); ——>将s3初始化为s2的一个副本

string s4(n,‘c’); ——>将s4初始化为字符’c’的n个副本

2.string类型的常用操作(不断补充)

s.empty();——>若s为空串,则返回true,否则返回false

s.size();——>返回s中字符的个数

s[n]——>返回s中位置为n的字符,位置从0开始

s1+s2——>将两个串连接成新串,返回新生成的串

s1=s2——>把s1得内容替换为s2的副本

v1 == v2——>判定相等,相等返回true,否则返回false

v1 != v2——>判定不等,不等返回true,否则返回

注意:在头文件cctype中,有大量用于判断string数据类型的函数,常以is开头或to开头

注意:

除了一些特殊操作,string类型提供与vector容器相同的操作。string类型和vector容器不同的是,它不支持以栈方式操纵容器:在string类型中不能使用front,back,pop_back操作

string 是支持push_back()的,因为string也是顺序容器

3.string类型的两种常用的遍历方法
#include<iostream>
#include<string>
#include<cstdio>
 
using namespace std;
int main()
{
    string s("Hiya");
    
    string::iterator it;	//用迭代器进行遍历
    for(it=s.begin();it!=s.end();++it)
        cout<<*it<<endl;	
        
    for(int i=0;s[i];i++)	//用类似字符串的方式进行遍历
        cout<<s[i]<<endl;
        
    cout<<s<<endl;
    return 0;
}
4.string中的拼接

string s1="hello"✔

string s2=(“world”);✔

string s3=s1+s2;✔

string s4=“hello”+s2;✔

string s5=“hello”+“world”;✘

string s6=“hello”+s2+“china”;✔

注意:两个字符串的字面值的直接相加,是非法的

总结

此从string开始,我会逐渐记录紫书中我所不熟练的数据类型或各种容器的用法
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值