C++ Primer Plus学习笔记之String类

2014-11-24 10:18:18 · 作者: · 浏览: 0

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()给字符串分配的元素数

例题: