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()