string类

    xiaoxiao2021-03-25  87

         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; }

    转载请注明原文地址: https://ju.6miu.com/read-6733.html

    最新回复(0)