C++ 参考手册
- C++11
- C++14
- C++17
- C++20
- C++ 编译器支持情况表
- 独立与宿主实现
- C++ 语言
- C++ 关键词
- 预处理器
- C++ 标准库头文件
- 具名要求
- 功能特性测试 (C++20)
- 工具库
- 类型支持(基本类型、RTTI、类型特性)
- 概念库 (C++20)
- 错误处理
- 动态内存管理
- 日期和时间工具
- 字符串库
- std::basic_string
- std::basic_string_view
- 空终止字节字符串
- std::isalnum
- std::isalpha
- std::islower
- std::isupper
- std::isdigit
- std::isxdigit
- std::isblank
- std::iscntrl
- std::isgraph
- std::isspace
- std::isprint
- std::ispunct
- std::tolower
- std::toupper
- std::atof
- std::atoi, std::atol, std::atoll
- std::strtol, std::strtoll
- std::strtoul, std::strtoull
- std::strtof, std::strtod, std::strtold
- std::strtoimax, std::strtoumax
- std::strcpy
- std::strncpy
- std::strcat
- std::strncat
- std::strxfrm
- std::strlen
- std::strcmp
- std::strncmp
- std::strcoll
- std::strchr
- std::strrchr
- std::strspn
- std::strcspn
- std::strpbrk
- std::strstr
- std::strtok
- std::memchr
- std::memcmp
- std::memset
- std::memcpy
- std::memmove
- std::strerror
- 空终止多字节字符串
- 空终止宽字符串
- std::char_traits
- 注释
- 容器库
- 迭代器库
- 范围库 (C++20)
- 算法库
- 数值库
- 输入/输出库
- 文件系统库
- 本地化库
- 正则表达式库
- 原子操作库
- 线程支持库
- 实验性 C++ 特性
- 有用的资源
- 索引
- std 符号索引
- 协程支持 (C++20)
- C++ 关键词
空终止字节字符串
空终止字节字符串( null-terminated byte string, NTBS )是后随拥有零值的字节(空终止字符)的非零字节序列。字节字符串的每个字节编码某字符集的一个字符。例如,字符数组 {'\x63', '\x61', '\x74', '\0'} 是持有以 ASCII 编码的字符串 "cat" 的 NTBS 。
函数
字符分类 | |
定义于头文件
<cctype> | |
检查字符是否为字母或数字 (函数) | |
检查字符是否为字母 (函数) | |
检查字符是否为小写 (函数) | |
检查字符是否为大写字符 (函数) | |
检查字符是否为数字 (函数) | |
检查字符是为十六进制字符 (函数) | |
检查字符是否为控制字符 (函数) | |
检查字符是否为图形字符 (函数) | |
检查字符是否为空白间隔字符 (函数) | |
(C++11) |
检查字符是否为空白字符 (函数) |
检查字符是否为打印字符 (函数) | |
检查字符是否为标点符 (函数) | |
字符操作 | |
转换字符为小写 (函数) | |
转换字符为大写 (函数) |
ASCII 值 | 字符 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
十进制 | 十六进制 | 八进制 | |||||||||||||
0–8 | \x0 –\x8
|
\0 –\10
|
控制码 (NUL 等)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
9 | \x9
|
\11
|
制表 (\t )
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
10–13 | \xA –\xD
|
\12 –\15
|
空白符 (\n , \v , \f , \r )
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
14–31 | \xE –\x1F
|
\16 –\37
|
控制码 | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
32 | \x20
|
\40
|
space | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
33–47 | \x21 –\x2F
|
\41 –\57
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
48–57 | \x30 –\x39
|
\60 –\71
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
58–64 | \x3A –\x40
|
\72 –\100
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
65–70 | \x41 –\x46
|
\101 –\106
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
71–90 | \x47 –\x5A
|
\107 –\132
|
GHIJKLMNOP QRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
91–96 | \x5B –\x60
|
\133 –\140
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
97–102 | \x61 –\x66
|
\141 –\146
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
103–122 | \x67 –\x7A
|
\147 –\172
|
ghijklmnop qrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
123–126 | \x7B –\x7E
|
\172 –\176
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
127 | \x7F
|
\177
|
退格字符 (DEL )
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
转换为数值格式 | |
定义于头文件
<cstdlib> | |
转换字节字符串为浮点值 (函数) | |
转换字节字符串为整数值 (函数) | |
转换字节字符串为整数值 (函数) | |
转换字节字符串为无符号整数值 (函数) | |
转换字节字符串为浮点值 (函数) | |
定义于头文件
<cinttypes> | |
(C++11)(C++11) |
转换字节字符串为 std::intmax_t 或 std::uintmax_t (函数) |
字符串操作 | |
定义于头文件
<cstring> | |
复制一个字符串给另一个 (函数) | |
复制来自一个字符串的一定量字符给另一个 (函数) | |
连接两个字符串 (函数) | |
连接两个字符串的一定量字符 (函数) | |
变换字符串,使得 strcmp 会返回与 strcoll 相同的结果 (函数) | |
字符串检验 | |
定义于头文件
<cstring> | |
返回给定字符串的长度 (函数) | |
比较两个字符串 (函数) | |
比较两个字符串的一定量字符 (函数) | |
按照当前本地环境比较两个字符串 (函数) | |
寻找字符的首次出现 (函数) | |
寻找字符的最后出现 (函数) | |
返回仅由另一字节字符串中找到的字符组成的最大起始段的长度 (函数) | |
返回仅由另一字节字符串中找不到的字符组成的最大起始段的长度 (函数) | |
寻找任何来自分隔符集合的字符的首个位置 (函数) | |
寻找字符子串的首次出现 (函数) | |
寻找字节字符串中的下个记号 (函数) | |
字符数组操作 | |
定义于头文件
<cstring> | |
在数组中搜索字符的首次出现 (函数) | |
比较两个缓冲区 (函数) | |
以一个字符填充缓冲区 (函数) | |
复制一个缓冲区到另一个 (函数) | |
移动一个缓冲区到另一个 (函数) | |
杂项 | |
定义于头文件
<cstring> | |
返回给定错误码的文本版本 (函数) |