首页 > 代码库 > string类简介

string类简介

要使用 string 类,必须在头文件中包含头文 string;

string 类位于名称空间std;

使用string类时,某些操作比使用数组时更简单;

如:不能将一个数组直接赋值给另一个数组;但可以将一个string对象直接赋值给另一个string对象;

例:string str1;

     string str2="panther";

     str1=str2;//直接赋值

     str1+=" paste";//直接可以相加

   int len1=str2.size();//panther paste长度13

而以前完成字符串赋值等工作用头文件 cstring;

    #include <cstring>

    char charr1[20];

    char charr2[20]="jaguar";

有 函数

     strcpy(charr1,charr2);//复制

            strcat(charr1," juice");//追加

    int len2=strlen(charr1);//jaguar juice长度12

例:

  char charr[20];

  string str;

  cout<<strlne(charr);//随机数值,遇到空字符停止

  cout<<str.size();//0

  cin.getline(charr,20);

     getline(cin,str);

其它形式的字符串字面值

char  

wchar_t       //前缀 L

C++11:

char16_t    //前缀u

char32_t   //前缀U

例:

  wchar_t title[]=L"XXXXXXXXXX   XXXXXXXXX";

  char16_t name[]=u"XXXXXXXX    XXXXXX";

  char32_t car[]=U"XXXX    XXXX";

原始(raw)字符串:字符表示自己;

  如\n不表示换行,而表示两个常规字符:斜杠与n;

  将"(和")用作定界符,并用前缀R来标识原始字符串;

     cout<<R"(;ljsdfl" T sdlfj "\n" ins of endl.)";//;ljsdfl" T sdlfj "\n" ins of endl.

  想输出"(与“);

  cout<<R"+*("(who wouldn‘t?)",she whispered.)+*"<<endl;

  //输出 "(who wouldn‘t?)",she whispered.

可混合使用如Ru,UR 等 ;