C++ Primer Plus学习笔记之String类
一,string类的构造
1)string(const char *s)将string对象初始化为s指向的传统的C字符串
2)string(int n,char c)创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c
3)string(const string &s)将一个string对象初始化为string对象s,拷贝构造函数
4)string()创建一个默认的string对象,长度为0,默认构造函数
5)string(const char *s,int n)将string初始化为s指向的字符串的前n个字符,即使超过了字符串的结尾
6)string(Iterator begin,Iterator end)将string初始化为区间[begin,end)内的字符
二,string类的输入
1)c 风格的字符串
char str[100];
cin>>str;
cin.getline(str,100);
cin.get(str,100);
2)string对象
string s;
cin>>s;
getline(cin,s);
可选参数,用于指定使用哪一个字符来确定输入的边界
cin.getline(str,100,’:’);
getline(cin,s,’:’);
string版本的getline()函数从输入中读取字符,并将其存储到目标string中,直到发生下面三种情况之一:
1),到达文件结尾
2),遇到分界符
3),读取的字符数达到最大允许值(string::npos和可供分配的内存字节数中较小的一个)
三,string类的使用
1),int find(const string&str,int pos)从字符串的pos位置开始,查找子字符串。如果找到,则返回该子字符串
首次出现的位置,否则返回string::npos
2),begin()指向字符串第一个字符的迭代器
3),end()为超尾的迭代器
4),size()字符串中的元素数
5),capacity()给字符串分配的元素数
例题: