空终止字节字符串
空终止字节字符串( NTBS )是尾随零值字节(空终止字符)的非零字节序列。字节字符串中的每个字节都是一些字符集的编码。例如,字符数组 {'\x63','\x61','\x74','\0'} 是一个以 ASCII 编码表示字符串 "cat" 的 NTBS 。
函数
字符分类 | |
定义于头文件
<ctype.h> | |
检查一个字符是否是字母或数字 (函数) | |
检查一个字符是否是英文字母 (函数) | |
检查一个字符是否是小写字母 (函数) | |
检查一个字符是否是大写字母 (函数) | |
检查字符是否为数字 (函数) | |
检查一个字符是否是十六进制的字符 (函数) | |
检查一个字符是否是控制字符 (函数) | |
检查一个字符是否是可显示的字符 (函数) | |
检查一个字符是否是空白字符 (函数) | |
(C99) |
检查一个字符是否是空格字符 (函数) |
检查一个字符是否是可打印字符 (函数) | |
检查一个字符是否是一个标点符号 (函数) | |
字符操作 | |
将字符转换成小写 (函数) | |
将字符转换成大写 (函数) |
注意:将来可能添加以 to
或 is
后随小写字母起始的新增函数到头文件 ctype.h
,故不应于包含该头文件的程序中定义这些函数。
ASCII值 (十六进制) |
字符 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 - 8 | 0x00-0x08
|
控制码 (NUL 等)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
9 | 0x09
|
制表符 (\t )
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
10 - 13 | 0x0A-0x0D
|
空白符 (\n , \v , \f , \r )
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
14 - 31 | 0x0E-0x1F
|
控制码 | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
32 | 0x20
|
空格 | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
33 - 47 | 0x21-0x2F
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
48 - 57 | 0x30-0x39
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
58 - 64 | 0x3a-0x40
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
65 - 70 | 0x41-0x46
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
71 - 90 | 0x47-0x5A
|
GHIJKLMNOPQRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
91 - 96 | 0x5B-0x60
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
97 -102 | 0x61-0x66
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
103-122 | 0x67-0x7A
|
ghijklmnopqrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
123-126 | 0x7B-0x7E
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
127 | 0x7F
|
退格符 (DEL )
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
转换成数值格式 | |
定义于头文件
<stdlib.h> | |
将字节字符串转换成浮点值 (函数) | |
(C99) |
将字节字符串转换成整数值 (函数) |
(C99) |
将字节字符串转换成整数值 (函数) |
(C99) |
将字节字符串转换成无符号整数值 (函数) |
(C99)(C99) |
将字节字符串转换成浮点值 (函数) |
定义于头文件
<inttypes.h> | |
(C99)(C99) |
将字节字符串转换成 intmax_t 或 uintmax_t (函数) |
字符串操作 | |
定义于头文件
<string.h> | |
(C11) |
复制一个字符串给另一个 (函数) |
(C11) |
从一个字符串复制一定数量的字符到另一个 (函数) |
(C11) |
连接两个字符串 (函数) |
(C11) |
连接两个字符串的一定数量字符 (函数) |
变换字符串,使得 strcmp 会产生同 strcoll 的结果 (函数) | |
(C2x 起) |
分配字符串的副本 (函数) |
(C2x 起) |
分配拥有指定大小的字符串副本 (函数) |
字符串检验 | |
定义于头文件
<string.h> | |
(C11) |
返回给定字符串的长度 (函数) |
比较两个字符串 (函数) | |
比较两个字符串的一定数量字符 (函数) | |
比较两个字符串,根据当前本地环境 (函数) | |
查找字符的首次出现 (函数) | |
查找字符的最后一次出现 (函数) | |
返回由另一个字符串中的字符分割的最大起始段长度 (函数) | |
返回另一个字符串所不具有的字符分割的最大起始段长度 (函数) | |
查找一个字符串中的任意一个字符在另一个字符串中的首个位置 (函数) | |
查找子串字符的首次出现 (函数) | |
(C11) |
查找字节字符串中的下一个记号 (函数) |
字符数组操作 | |
定义于头文件
<string.h> | |
在数组中搜索字符的首次出现 (函数) | |
比较两块缓冲区 (函数) | |
(C11) |
以字符填充缓冲区 (函数) |
(C11) |
将一个缓冲区复制到另一个 (函数) |
(C11) |
将一个缓冲区移动到另一个 (函数) |
(C2x 起) |
复制一个缓冲区到另一个,在指定的分隔符后停止 (函数) |
杂项 | |
定义于头文件
<string.h> | |
(C11)(C11) |
返回给定错误码的文本版本 (函数) |
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.4 Character handling <ctype.h> (p: 200-204)
- 7.8 Format conversion of integer types <inttypes.h> (p: 217-220)
- 7.22 General utilities <stdlib.h> (p: 340-360)
- 7.24 String handling <string.h> (p: 362-372)
- 7.31.2 Character handling <ctype.h> (p: 455)
- 7.31.5 Format conversion of integer types <inttypes.h> (p: 455)
- 7.31.12 General utilities <stdlib.h> (p: 456)
- 7.31.13 String handling <string.h> (p: 456)
- K.3.6 General utilities <stdlib.h> (p: 604=613)
- K.3.7 String handling <string.h> (p: 614-623)
- C99 standard (ISO/IEC 9899:1999):
- 7.4 Character handling <ctype.h> (p: 181-185)
- 7.8 Format conversion of integer types <inttypes.h> (p: 198-201)
- 7.20 General utilities <stdlib.h> (p: 306-324)
- 7.21 String handling <string.h> (p: 325-334)
- 7.26.2 Character handling <ctype.h> (p: 401)
- 7.26.4 Format conversion of integer types <inttypes.h> (p: 401)
- 7.26.10 General utilities <stdlib.h> (p: 402)
- 7.26.11 String handling <string.h> (p: 402)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.3 CHARACTER HANDLING <ctype.h>
- 4.10 GENERAL UTILITIES <stdlib.h>
- 4.11 STRING HANDLING <string.h>
- 4.13.2 Character handling <ctype.h>
- 4.13.7 General utilities <stdlib.h>
- 4.13.8 String handling <string.h>