string类

     c++支持两种类型的字符串,第一种是c语言中介绍过的,包括一个结束符‘\0’(即以NULL结束)的字符数组,标准库函数提供了一组对其进行操作的函数,可以完成许多常用的字符串操作,如字符串复制函数strcpy,字符串连接函数strcat和求字符串长度函数strlen等。c++仍保留了这种格式字符串。使用数组来存放字符串,调用标准库函数来处理字符串,使用起来不太方便,而且数据与处理数据的函数分离也不符合面向对象方法的要求。为此,在c++标准库中,声明了一种更方便的字符串类型,即字符串类string,类string提供了对字符串进行处理所需要的操作。

     使用string类必须在程序的开始包括头文件string,即有以下语句:

  #include<string>

  string类的字符串对象的使用方法和其他对象一样,也必须先定义才可以使用。其定义格式如下:

   string 对象1,对象2.......

例如

   string str1,str2;

string str3("china");

字符串的初始化也可以写成:

  string str4="china";

同时,c++也为string类的对象定义了许多应用于字符串的运算符,常用的字符串运算符如下:

运算符   示例         
   =     s1=s2            

   +     s1+s2

  +=   s1+=s2

  ==  s1==s2

  !=   s1!=s2

  <    s1<s2

  >    s1>s2

  <=   s1<=s2

  >=   s1>=s2

  []      s1[i]         访问字符串对象s1中下标为i的字符

  >>   cin>>s1   从键盘中输入一个字符串给串对象s1

  <<   cout<<s1   将串对象s1 输出


这些运算符允许在一般表达式中使用string类对象,而不再需要调用诸如strcpy或strcat之类的函数。同时,也可以在表达式中把类对象string和以‘\0’结束的字符串混合在一起使用,例如可以把一个以‘\0’结束的字符串赋给一个string类对象。

c++中string类的使用使得字符串的处理比使用字符串函数更直观,方便。下面是例子:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string str1="ABC";
    string str2="DEF";
    string str3("GHI");
    string str4,str5;
    str4=str1;
    cout<<"str4 is "<<str4<<endl;
    str5=str1+str2;
    cout<<"str1+str2 is "<<str5<<endl;
    str5=str1+"123";
    cout<<"str1+\"123\" is  "<<str5<<endl;   \\这里采用了转义字符   \”   表示的是双撇号字符;
    if(str3>str1)
    {
        cout<<"str3>str1"<<endl;
    }
    else
        cout<<"str3<=str1"<<endl;
    if(str4==str1)
    {
        cout<<"str4==str1"<<endl;
    }
    else
        cout<<"str4<>str1"<<endl;
    cin>>str5;
    cout<<"str5 is "<<str5<<endl;
    return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿的探索之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值