C++ Primer【笔记】

文章目录

  • 第三章、字符串 向量 和 数组
    • 命名空间的 using 声明
    • 标准库类型 string

第三章、字符串 向量 和 数组

命名空间的 using 声明

每个名字都需要独立的 using 声明.

using std::string; using std::cout; using std::cin;

标准库类型 string

string 头文件

#include 
using std::string

string 初始化

string 初始化 注释
string s1 默认初始化, s1 是一个空串
string s2(s1) 拷贝初始化, s2 是 s1 的副本
string s2 = s1 同上
string s3(“value”) s3 是 “value” 的副本
string s3 = “vlaue” 同上
string s4(n, ‘c’) s4 为连续 n 个 ‘c’ 组成的字符串

string 的操作

string 的操作 注释
os << s 将 s 写入到输入流 os 中, 返回 os
is << s 从 is 中读取字符赋给 s, 返回 is
getline(is, s) 从 is 中
s.empty() s 为空的话返回 true
s.size() 返回 s 中字符的个数
s[n] 返回 s 中第 n 个字符
s1 + s2 返回 s1 和 s2 连接后的结果
s1 = s2 赋值操作
s1 == s2 判断是否一样, 大小写敏感
s1 != s2 判断是否不一样
<, <=, >, >= 利用字典进行顺序比较

cctype 头文件函数

cctype 头文件函数 注释
isalnum 当 c 为字母或数字时为真
isalpha 当 c 为字母时为真
iscntrl 当 c 为控制字符时为真
isdigit 当 c 为数字时为真
isgraph 当 c 不为空格但可以打印时为真
islower 当 c 为小写字母时为真
isprint 当 c 为可打印字符时为真
ispunct 当 c 为标点符号时为真
isspace 当 c 为空白时为真
isupper 当 c 为大写字符时为真
isxdigit 当 c 为 16 进制时为真
tolower 将 c 变为小写字母
toupper 将 c 变为大写字母

读写 string 对象

string s1, s2;
cin >> s1 >> s2;
cout << s1 << s2 << endl;

读取未知数量的 string 对象

// 每行输出一个词
string word;
while (cin >> word) cout << word << endl;
// 一行输出所有字符
string line;
while (getline(cin, line)) cout << line << endl;

处理每个字符

// 统计标点符号数量, 并将字符串变为大写
string s1 = "Hello, World!!!";
int punct_cnt = 0;
for (auto &c : s1) {
    if (ispunct(c)) ++punct_cnt;
    c = toupper(c);
}
cout << "punct num: " << punct_cnt << "\tupper s1: " << s1;

你可能感兴趣的:(c++,开发语言,算法)