标准库类型string

string

表示可变长度的字符序列
string类支持字符串对象的各种操作
  • 各种初始化方式
  • 字符串之间的复制、比较、连接
  • 查询字符串长度和判断字符串是否为空
  • 访问字符串中的单字符
string s1;                 //默认初始化,s1是一个空串
string s2(s1);           //s2是s1的副本
string s2 = s1          //等价于s2(s1)
string s3("value");    //s3是字面值”value“的副本,除了字面值最后的空字符外
string s3 = "value";   //等价于s3("value"),s3是字面值“value"的副本
string s4(n, 'c')          //把s4初始化为由连续n个字符c组成的串

string的常用操作
读写string对象
方法一

输入操作符返回输入流对象,如果输入流对象处于有效状态,表示没有遇到文件结束或非法输入
string word
while(cin >> word)
	cout << word <<endl;

方法二:getline()函数

  • 两个参数:输入流对象和存放读入字符串的string对象
  • 从指定输入流中读取内容,遇到换行符为止;将所读内容存入指定的string对象中,流中的换行符被读取并丢弃
  • 返回参数输入流对象
string line;
while(getline(cin, line)
	cout << line <<endl;

empty()函数:判断string对象是否为空,返回一个布尔值(空 return true,非空 return false)
size()函数:返回string对象的长度(字符的个数)
可以用关系运算符比较两个字符串对象

  1. 两个string相等意味着它们的长度相同,并且所包含的字符也完全相同
  2. 字符串的大小关系依照字典顺序定义且区分大小写字母

string对象的赋值和连接
允许把一个string对象的值赋给另一个string对象
也可以为string对象赋一个字符串字面值常量
两个字符串可以直接用运算符“+”连接,结果得到一个新的string对象
"+"运算符要求至少有一个运算对象是string
复合赋值运算符“+=”则将右操作数的内容追加到左操作数的后面

字符串字面值不是string类型,而是const char类型
string对象和C风格字符串的转换
可以将C风格的字符串直接赋给string对象,反之不可
用string对象的c_str()操作可以返回一个表示该string对象内容的C风格字符串,结果为const char
类型,即C风格字符串的首地址

使用下标运算符可以获取string对象中指定位置的字符
可以使用for循环或range for逐个处理string对象中的字符
头文件中定义了一组获取或改变字符特性的标准库函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值