C++标准类型库string

string初始化方式:

int main()
{
    string s1;//没有提供初始值,则默认初始化空串
    string s2(s1);//相同类型直接填入
    string s3("hehe");//字符串则要加双引号
    string s4(10,'a');//初始化为10个a
    string s5=s3;
    string s6="haha";

   cout<<s1<<s2<<s3<<s4<<s5<<s6<<endl;
   
    return 0;
}

打印:heheaaaaaaaaaahaha

用花括号初始化也可以,不是很常用,如:string s7{"abc"}

 

getline输出一整行

getline:参数(输入流,string对象),读取给定内容,遇到换行符停止(换行符也被读取进去了),它返回一个流的参数。

 

#include<stdio.h>
#include<string>

using namespace std;

int main()
{
     string s;
     while(cin>>s)
     {
        cout<<s<<endl;
     }

     /*string s1;
     while(getline(cin,s1))
     {
         cout<<s1<<endl;
     }*/

     return 0;
}

当输入string字符时,遇到空格就停止了,得到一整行(包含空格的)就要用到getline函数,代码中注释部分就是。

 

 

string的size和empty函数,一个返回个数,一个返回是否为空。调用形式:s.size()   ,  s.empty() ,其中size函数返回一个string::size_type类型的无符号数。

 

处理string对象中的每个字符,使用基于范围的for语句来遍历每个元素,并对其进行操作(改变要定义引用),处理一部分字符则要用到下标。

 

#include<iostream>
#include<string>

using namespace std;

int main()
{
     string s="pan";
     for(auto &c : s)//c的类型不确定,则用auto
     {
         c='a';//使每个字符都变为a
         cout<<c<<endl;
     }
    
     string s1="haha";
     for(auto &c1 : s1)
     {
          s1[1]='b';//使其第二个字符变为b
          cout<<c1<<endl;
      }

      return 0;
     
}

打印:a

 

            a

            a

            h

            b

            h

            a
 

参考资料:C++  Primer第五版
 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盼盼编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值