【C++ Primer 第五版】标准库类型 string

1 初始化string

string支持可变长字符串,vector支持可变长集合
标准库迭代器常用于访问string和vector中的元素
内置数组是更基础的类型,string和vector是内置数组的抽象

使用string类型必须包含string头文件,且string定义在命名空间std中,即需要

#include <string>
using std::string;
string s1;           // 默认初始化,s1是一个空字符串
string s2 = s1;      // s2是s1的副本
string s3 = "hiya";  // s3是该字符串字面值的副本
string s4(10, 'c');   // s4的内容是cccccccccc

等号(=)执行的是拷贝初始化,其他的是直接初始化

2 string对象的操作

os << s; //写到输出流
is >> s; //从is中读取字符串赋给s
getline(is, s); // 从is中读取一行赋值给s,返回is
s.empty(); // s为空时返回true,否则返回false
s.size(); // 返回s中字符的个数
s[n]; // 返回s中第n个字符的引用,位置n从0计起
s1 + s2; // 返回s1和s2连接后的结果
s1 = s2; // 用s2的副本代替s1原来的字符
s1 == s2; // 判断字符是否完全一样,对大小写 敏感
s1 != s2; // 判断字符是否不一样
<, <=, >, >=   // 大小判断

3 读写string对象

与内置类型的输入和输出操作一样
采用std命名空间下的cin和cout进行读写操作
使用while可以读取位置数量的string对象
使用getline可以读取一整行(不包含换行符)

string line;
getline(cin, line);

4 使用c标准库头文件

C++可以使用C标准库头文件,name.h变为cname即可
cname文件中定义的名字从属于命名空间std

5 对每个字符进行遍历

for (auto c : str) //for (declaration : expression)
    cout << c endl; //statement
  • toupper 转换成大写
  • 下标范围:string对象的下标范围必须大于等于0,小于s.size()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值