复合类型、函数与C++基础——标准库函数string

定义和初始化

头文件

#include<string>

string初始化方式:

string对象上的操作

常用操作如下表:

string在程序中的使用

读写string对象:输入string对象主要有两种方式,第一种是平常的用输入操作符“>>"读入字符串。在输入操作符返回输入流对象时,如果输入流对象处于有效状态,表示没有遇到文件结束或者非法输入,可以用循环来读取未知量的string对象。

string s;
cin>>s;

string a;
while(cin>>a)
    cout<<a;

第二种是使用getline()函数。getline函数可以在读取字符串中保留输入时的空白符。函数从指定的输入流中读取内容,直到遇到换行符为止;如果开始就是换行符,那么就会得到一个空的string。

string s;
while(getline(cin,s)         //getline的两个参数,输入流对象和存放读入字符串的string对象
    cout<<s<<endl;

判断string是否为空

使用的函数是empty(),返回一个布尔值。

获取string的长度

使用size(),返回字符串的长度,即string对象中字符的个数。

比较string对象

对string对象的字符进行比较:

如果两个string对象的长度相同,则两者相等;

如果两个string对象的长度不同,则比较较短string对象的每个字符与较长string对象相应位置的字符(按字典序),如果都相同,则较短string对象小于较长string对象;如果相应位置字符不同,则返回的是两个string对象第一对象义字符比较的结果。

string line;
while(getline(cin,line)
    if(!line.empty())
        cout<<line;


string::size-type s=line.size();     //判断返回值类型三种方法
auto s1=line.size();
decltype(line.size()) s2=0; 

    
string s1="hello";
string s2="hello,world";
string s3="Hello"        //s2>s1>s3

string对象的赋值和连接

允许把一个string对象的值赋给另一个string对象

string s1="hello",s2;
s2=s1;

两个字符串的连接可以直接使用运算符“+”,结果得到一个新的 string对象。复合赋值运算符“+=”则将右操作数的内容追加到左操作数的后面。

string s1="hello",s2="world",s3;
s3=s1+s2;
s1+=s2;
string s4=s1+"world"+"\n";    //正确,第一个+的结果是string
string s5="hello"+s2;         //错误,不能把字面值后加string对象

处理string对象中的字符

运用标准库函数<cctype>

标准库函数见下表

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值