4.3 string 类

4.3.1 string 类简介

ISO/ANSI C++98标准中添加了string类,因此可以使用string类型的变量来存储字符串。要使用string类型,必须在头文件中包含string;string位于名称空间std内;

  • 可以使用C-风格字符串来初始化string对象;
  • 可以使用cin来将键盘输入存储到string对象中;
  • 可以使用数组表示法来访问存储在string对象中的字符;

类设计能让程序自行处理string的大小,例如:程序将输入读取到变量中,将自动调整变量的长度

4.3.2 C++11字符串的初始化

  • string str1{"I Love You"};
  • string str2={I love You};
  • char str3[]={"I Love You Too"};
  • char str4[]{"I Love You Too"};

4.3.3 赋值,拼接和附加

  1. 不能将一个数组赋给另一个数组,但可以将一个string对象赋给另一个string对象;

eg:string str1{"I love you "};

string str2=str1;

  1. string类简化了字符串合并操作;可以用+将两个string对象合并起来(+号右边的加在前一个末尾),还可以使用+=将字符串附加到string的末尾;

eg:string str1,str2,str3;

   str3=str1+str2;//str1在前,str2后

   str1+=str2;

4.3.4  string类的其他操作(于字符数组比较)

下列函数均包括在cstring头文件中

     strcpy()函数——strcpy(char1,char2);//将str2的内容复制到str1中(字符数组)

等同于string类型的赋值;

strcat()函数——strcat(str1,str2);//将字符附加到字符数组末尾(字符数组)

等同于string类型的加法;

strlen()函数——strlen(str1);//计算字符串长度(字符数组)

string则是str1.size()//计算字符串长度(string)

str1不是用作函数参数,而是一个对象,size()是一个类方法。方法是一个函数,只能通过其所属类的对象进行调用。在这str1是一个string类对象,而size()是string类的一个方法。

4.3.5 string类的I/O

如之前所提到的,可以cin>>输入存储到string对象中,可用cout<<来显示string对象;

行输入读取到string对象中的代码:getline(cin,str1);//包含头文件cstring

注:此处getline()不是类方法。它将cin作为参数,指出到哪里去查找输入。

因为C++在有istream类后才加入了strin类型,因此istream的设计考虑到了double和int等等基本C++数据类型,但没有考虑string对象的类方法;

4.3.6 原始(raw)字符串

在原始字符串中,字符表示的就是自己,如\n表示的不是换行,是反斜杠和n,因此显示时将显示这两个字符;原始字符用"()"用作定界符,并使用前缀R来标识原始字符串

cout<<R"(Jim "King" Tutt uses "\n" instead of endl.)"<<'\n'

将显示:Jim "King" Tutt uses "\n" instead of endl.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值