以空字符结尾的字节字符串
来自 cppreference.com
以空字符结尾的字节字符串 (NTBS) 是一个由非零字节组成的序列,后面紧跟着一个值为零的字节(终止空字符)。字节字符串中的每个字节都编码了某个字符集中的一个字符。例如,字符数组 {'\x63','\x61','\x74','\0'} 是一个 NTBS,它以 ASCII 编码存储字符串 "cat"。
内容 |
[编辑] 函数
字符分类 | |
在头文件
<ctype.h> 中定义 | |
检查字符是否为字母数字 (函数) | |
检查字符是否为字母 (函数) | |
检查字符是否为小写字母 (函数) | |
检查字符是否为大写字母 (函数) | |
检查字符是否为数字 (函数) | |
检查字符是否为十六进制字符 (函数) | |
检查字符是否为控制字符 (函数) | |
检查字符是否为图形字符 (函数) | |
检查字符是否为空格字符 (函数) | |
(C99) |
检查字符是否为空白字符 (函数) |
检查字符是否为打印字符 (函数) | |
检查字符是否为标点符号字符 (函数) | |
字符操作 | |
将字符转换为小写 (函数) | |
将字符转换为大写 (函数) |
注意:在将来的版本中,可能还会在头文件 ctype.h
中添加其他以 to
或 is
开头,后面跟着一个小写字母的函数,程序不应该在包含该头文件时定义这些函数。
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
|
空格 | 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 |
\173 –\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
|
转换为和从数字格式 | |
在头文件
<stdlib.h> 中定义 | |
将字节字符串转换为浮点值 (函数) | |
(C99) |
将字节字符串转换为整数值 (函数) |
(C99) |
将字节字符串转换为整数值 (函数) |
(C99) |
将字节字符串转换为无符号整数值 (函数) |
(C99)(C99) |
将字节字符串转换为浮点值 (函数) |
(C23)(C23)(C23) |
将浮点值转换为字节字符串 (函数) |
在头文件
<inttypes.h> 中定义 | |
(C99)(C99) |
将字节字符串转换为 intmax_t 或 uintmax_t (函数) |
字符串操作 | |
在头文件
<string.h> 中定义 | |
(C11) |
将一个字符串复制到另一个字符串 (函数) |
(C11) |
将一个字符串中的特定数量的字符复制到另一个字符串 (函数) |
(C11) |
连接两个字符串 (函数) |
(C11) |
连接两个字符串的特定数量的字符 (函数) |
转换字符串,使 strcmp 的结果与 strcoll 相同 (函数) | |
(C23) |
分配字符串的副本 (函数) |
(C23) |
分配指定大小的字符串副本 (函数) |
字符串检查 | |
在头文件
<string.h> 中定义 | |
(C11) |
返回给定字符串的长度 (函数) |
比较两个字符串 (函数) | |
比较两个字符串的特定数量的字符 (函数) | |
根据当前区域设置比较两个字符串 (函数) | |
查找字符的首次出现 (函数) | |
查找字符的最后一次出现 (函数) | |
返回仅包含另一个字节字符串中找到的字符的最大初始段的长度 仅包含另一个字节字符串中未找到的字符 (函数) | |
返回仅包含另一个字节字符串中找到的字符的最大初始段的长度 仅包含另一个字节字符串中未找到的字符 (函数) | |
在另一个字符串中查找一个字符串中任何字符的第一个位置 (函数) | |
查找字符子字符串的第一个出现 (函数) | |
(C11) |
查找字节字符串中的下一个标记 (函数) |
字符数组操作 | |
在头文件
<string.h> 中定义 | |
在数组中搜索字符的首次出现 (函数) | |
比较两个缓冲区 (函数) | |
(C23)(C11) |
用字符填充缓冲区 (函数) |
(C11) |
将一个缓冲区复制到另一个缓冲区 (函数) |
(C11) |
将一个缓冲区移动到另一个缓冲区 (函数) |
(C23) |
将一个缓冲区复制到另一个缓冲区,在遇到指定分隔符后停止 (函数) |
其他 | |
在头文件
<string.h> 中定义 | |
(C11)(C11) |
返回给定错误代码的文本版本 (函数) |
[编辑] 参考资料
- C23 标准 (ISO/IEC 9899:2024)
- 7.4 字符处理 <ctype.h> (p: TBD)
- 7.8 整型类型格式转换 <inttypes.h> (p: TBD)
- 7.22 通用实用程序 <stdlib.h> (p: TBD)
- 7.24 字符串处理 <string.h> (p: TBD)
- 7.31.2 字符处理 <ctype.h> (p: TBD)
- 7.31.5 整型类型格式转换 <inttypes.h> (p: TBD)
- 7.31.12 通用实用程序 <stdlib.h> (p: TBD)
- 7.31.13 字符串处理 <string.h> (p: TBD)
- K.3.6 通用实用程序 <stdlib.h> (p: TBD)
- K.3.7 字符串处理 <string.h> (p: TBD)
- C17 标准 (ISO/IEC 9899:2018)
- 7.4 字符处理 <ctype.h> (p: TBD)
- 7.8 整型类型格式转换 <inttypes.h> (p: TBD)
- 7.22 通用实用程序 <stdlib.h> (p: TBD)
- 7.24 字符串处理 <string.h> (p: TBD)
- 7.31.2 字符处理 <ctype.h> (p: TBD)
- 7.31.5 整型类型格式转换 <inttypes.h> (p: TBD)
- 7.31.12 通用实用程序 <stdlib.h> (p: TBD)
- 7.31.13 字符串处理 <string.h> (p: TBD)
- K.3.6 通用实用程序 <stdlib.h> (p: TBD)
- K.3.7 字符串处理 <string.h> (p: TBD)
- C11 标准 (ISO/IEC 9899:2011)
- 7.4 字符处理 <ctype.h> (p: 200-204)
- 7.8 整型类型格式转换 <inttypes.h> (p: 217-220)
- 7.22 通用实用程序 <stdlib.h> (p: 340-360)
- 7.24 字符串处理 <string.h> (p: 362-372)
- 7.31.2 字符处理 <ctype.h> (p: 455)
- 7.31.5 整型类型格式转换 <inttypes.h> (p: 455)
- 7.31.12 通用实用程序 <stdlib.h> (p: 456)
- 7.31.13 字符串处理 <string.h> (p: 456)
- K.3.6 通用实用程序 <stdlib.h> (p: 604-613)
- K.3.7 字符串处理 <string.h> (p: 614-623)
- C99 标准 (ISO/IEC 9899:1999)
- 7.4 字符处理 <ctype.h> (p: 181-185)
- 7.8 整型类型格式转换 <inttypes.h> (p: 198-201)
- 7.20 通用实用程序 <stdlib.h> (p: 306-324)
- 7.21 字符串处理 <string.h> (p: 325-334)
- 7.26.2 字符处理 <ctype.h> (p: 401)
- 7.26.4 整型类型格式转换 <inttypes.h> (p: 401)
- 7.26.10 通用实用程序 <stdlib.h> (p: 402)
- 7.26.11 字符串处理 <string.h> (p: 402)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.3 字符处理 <ctype.h>
- 4.10 通用实用程序 <stdlib.h>
- 4.11 字符串处理 <string.h>
- 4.13.2 字符处理 <ctype.h>
- 4.13.7 通用实用程序 <stdlib.h>
- 4.13.8 字符串处理 <string.h>
[编辑] 另请参阅
C++ 文档 for
Null 终止的字节字符串 |