 
 wangc
 Jan 18, 2019
 标准库 string 类型
作用:满足对字符串的一般应用。
#include
using std::vecter; 
1. 初始化
- string
1 | 2 —|— string s1; | 默认构造函数s1为空串 string s1(s2);| 将s2初始化为s1的副本 string s2(“value”);| 将s3初始化为一个字符串值副本 string s4(n, ‘c’);|将s4初始化字符‘c’的n个副本
- vecter vecter v1 和string类似 2. string 读入- cin >> s
 - 基本读入
- 读取并忽略有效字符(非空白字符)之前所有的空白字符,然后读取字符直到再次遇到空白字符,读取终止。 s
 
string word;
	while (cin >> word)
		cout << word << endl;
	return 0;
- getline(cin, line)- 读取整行文本
- 不忽略开头的空白字符,读取字符直至遇到换行符,读取终止并丢弃换行符(换行符从输入流中去掉但并不存储在string对象中)
-  string line; while (getline(cin, line)) { cout << line << endl; } return 0;3. string对象的操作
 
| 1 | 2 | 
|---|---|
| s.emptyz() | 如果s为空串,返回true,否则false | 
| s.size() | 返回s中字符的个数,返回类型为size_type的值(可移植性) | 
| s[n] | s[0]为第一个字符,s[s.size()-1]则表示最后一个字符,勿越界 | 
| s1 + s2 | 连接成为一个新的字符串 | 
| v1==v2 | 相等返回true,否则返回false | 
| !=,<,<=,<,>= | 比较基于字典排序,大写字母在小写之前 | 
vecter与之相似
v.push_back(t)
在v的末尾增加一个值为t的元素,扩充v的大小。
- 注意:只能对已存在的下标元素进行操作。 例程 - “+” - 操作符的左右操作数必须值少有一个是string类型的 ``` string s1(“hello”); string s2(“world”);
 
 
- “+” 
string s4 = s1 + “,”; \ OK string s5 = “hello” + “,”; \ ERROR
2. 取出每一个字符
for (string::size_type ix = 0; ix != str.size(); ++ix) cout « str[ix] « endl; // 为了防止size经过循环改变,所以每次循环都要检查 // C++程序员习惯用 != 判断下标是否越界
### 4. string中各种字符的操作函数
> #include <cctype>
>> 检查某个字符是否为空白字符,字母或者数字etc
名称 | 是则返回true
---|---
isalnum(c)|字母数字
isalpha(c)|字母
iscntrl(c)|控制字符
isdigit(c)|数字
isgraph(c)|数字
islower(c)|不是空格
isprint(c)|可打印字符
ispunct(c)|标点符号
isspase(c)|空白字符
isupper(c)|大写字母
tolower(c)|大写字符便小写字符
toupper(c)|小写字符变大写字符
```