空终止字节字符串
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    空终止字节字符串( 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 的结果  (函数)  | |
|    (C23)  | 
   分配字符串的副本   (函数)  | 
|    (C23)  | 
   分配拥有指定大小的字符串副本   (函数)  | 
 字符串检验 | |
|   定义于头文件  
<string.h>  | |
|    (C11)  | 
   返回给定字符串的长度  (函数)  | 
|    比较两个字符串  (函数)  | |
|    比较两个字符串的一定数量字符  (函数)  | |
|    比较两个字符串,根据当前本地环境  (函数)  | |
|    查找字符的首次出现  (函数)  | |
|    查找字符的最后一次出现  (函数)  | |
|    返回由另一个字符串中的字符分割的最大起始段长度   (函数)  | |
|    返回另一个字符串所不具有的字符分割的最大起始段长度   (函数)  | |
|    查找一个字符串中的任意一个字符在另一个字符串中的首个位置  (函数)  | |
|    查找子串字符的首次出现  (函数)  | |
|    (C11)  | 
   查找字节字符串中的下一个记号  (函数)  | 
 字符数组操作 | |
|   定义于头文件  
<string.h>  | |
|    在数组中搜索字符的首次出现  (函数)  | |
|    比较两块缓冲区  (函数)  | |
|    (C11)  | 
   以字符填充缓冲区  (函数)  | 
|    (C11)  | 
   将一个缓冲区复制到另一个  (函数)  | 
|    (C11)  | 
   将一个缓冲区移动到另一个  (函数)  | 
|    (C23)  | 
   复制一个缓冲区到另一个,在指定的分隔符后停止   (函数)  | 
 杂项 | |
|   定义于头文件  
<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>