©
本文档使用 PHP中文网手册 发布
以空字符结尾的字节串(NTBS)是一个非零字节序列,后跟一个值为零的字节(终止空字符)。字节字符串中的每个字节都对某个字符集中的一个字符进行编码。例如,字符数组{'\x63','\x61','\x74','\0'
}是以"cat"
ASCII编码保存字符串的NTBS 。
| 字符分类|
|:----|
| 在头文件<ctype.h>中定义 |
| isalnum | 检查一个字符是否是字母数字(函数)|
| isalpha | 检查一个字符是否是字母(函数)|
| islower | 检查一个字符是否小写(函数)|
| isupper | 检查一个字符是否是大写字符(函数)|
| isdigit | 检查一个字符是否是数字(函数)|
| isxdigit | 检查一个字符是否是十六进制字符(函数)|
| iscntrl | 检查一个字符是否是一个控制字符(函数)|
| isgraph | 检查一个字符是否是图形字符(函数)|
| isspace | 检查一个字符是否是空格字符(函数)|
| isblank(C99)| 检查一个字符是否为空字符(函数)|
| isprint | 检查一个字符是否是打印字符(函数)|
| ispunct | 检查一个字符是否是标点符号(函数)|
| 字符操作|
| tolower | 将字符转换为小写(函数)|
| toupper | 将字符转换为大写(函数)|
注意:名称以“或”开头并且后面跟着一个小写字母的附加函数可能会被添加到头文件ctype.h中,并且不应该被包含该头文件的程序定义。
ASCII 值 (十六进制) | 字符 | iscntrl iswcntrl. | isprint iswprint. | isspace iswspace. | isblank iswblank. | isgraph iswgraph. | ispunct iswpunct. | isalnum iswalnum. | isalpha iswalpha. | isupper iswupper. | islower iswlower. | isdigit iswdigit. | isxdigit iswxdigit. | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 - 8 | 0x00-0x08 | 控制码(NUL, etc.) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0x09 | tab (\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 | space | 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>中定义 |
| atof | 将字节字符串转换为浮点值(函数)|
| atoiatolatoll(C99)| 将字节字符串转换为整数值(函数)|
| strtolstrtoll(C99)| 将字节字符串转换为整数值(函数)|
| strtoul strtoull(C99)| 将字节字符串转换为无符号整数值(函数)|
| strtofstrtodstrtold(C99)(C99)| 将字节字符串转换为浮点值(函数)|
| 在头文件<inttypes.h>中定义 |
| strtoimaxstrtoumax(C99)(C99)| 将字节字符串转换为intmax_t或uintmax_t(function)|
| 字符串操作|
| 在头文件<string.h>中定义 |
| strcpystrcpy_s(C11)| 将一个字符串复制到另一个(函数)|
| strncpystrncpy_s(C11)| 从一个字符串复制一定数量的字符到另一个(函数)|
| strcatstrcat_s(C11)| 连接两个字符串(函数)|
| strncatstrncat_s(C11)| 连接两个字符串(函数)|的一定数量的字符
| strxfrm | 转换一个字符串,以便strcmp产生与strcoll(function)|相同的结果
| 字符串检查|
| 在头文件<string.h>中定义 |
| strlenstrnlen_s(C11)| 返回给定字符串(函数)|的长度
| strcmp | 比较两个字符串(函数)|
| strncmp | 比较两个字符串(函数)|的一定数量的字符
| strcoll | 根据当前语言环境(函数)|比较两个字符串
| strchr | 找到第一个出现的字符(函数)|
| strrchr | 查找最后一次出现的字符(函数)|
| strspn | 返回仅由另一个字节字符串(函数)|中的字符组成的最大初始段的长度
| strcspn | 返回仅包含在另一个字节字符串(函数)|中未找到的字符的最大初始段的长度
| strpbrk | 在另一个字符串(函数)|中查找一个字符串中任何字符的第一个位置
| strstr | 找到第一个出现的字符(函数)|的子字符串
| strtokstrtok_s(C11)| 在字节字符串(函数)|中找到下一个标记
| 字符数组操作|
| 在头文件<string.h>中定义 |
| memchr | 在数组中搜索第一个出现的字符(函数)|
| memcmp | 比较两个缓冲区(函数)|
| memsetmemset_s(C11)| 用字符(函数)|填充缓冲区
| memcpymemcpy_s(C11)| 将一个缓冲区复制到另一个(功能)|
| memmovememmove_s(C11)| 将一个缓冲区移动到另一个(功能)|
| 杂项|
| 在头文件<string.h>中定义 |
| strerrorstrerror_sstrerrorlen_s(C11)(C11)| 返回给定错误代码(函数)|的文本版本
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 ++文档|
|:----|
本文档系腾讯云云+社区成员共同维护,如有问题请联系 yunjia_community@tencent.com
在头文件<wctype.h>中定义 | ||
---|---|---|
int iswdigit(wint_t ch); | (自C95以来) |
检查给定的宽字符是否对应(如果缩小)十个十进制数字字符0123456789中的一个。
CH | - | 宽字符 |
---|
如果宽字符是数字字符,则为非零值,否则为零。
iswdigit
与iswxdigit
是唯一不受当前安装的C语言环境影响的标准宽字符分类函数。
一些语言环境提供了检测非ASCII数字的附加字符类。
#include <stdio.h>#include <wctype.h>#include <wchar.h>#include <locale.h> void test(wchar_t a3, wchar_t u3, wchar_t j3){ printf(" '%lc' '%lc' '%lc'\n", a3, u3, j3); printf("iswdigit %d %d %d\n", !!iswdigit(a3), !!iswdigit(u3), !!iswdigit(j3)); printf("jdigit: %d %d %d\n", !!iswctype(a3, wctype("jdigit")), !!iswctype(u3, wctype("jdigit")), !!iswctype(j3, wctype("jdigit")));} int main(void){ wchar_t a3 = L'3'; // the ASCII digit 3 wchar_t u3 = L'三'; // the CJK numeral 3 wchar_t j3 = L'3'; // the fullwidth digit 3 setlocale(LC_ALL, "en_US.utf8"); puts("In American locale:"); test(a3, u3, j3); setlocale(LC_ALL, "ja_JP.utf8"); puts("\nIn Japanese locale:"); test(a3, u3, j3);}
输出:
In American locale: '3' '三' '3'iswdigit 1 0 0jdigit: 0 0 0 In Japanese locale: '3' '三' '3'iswdigit 1 0 0jdigit: 0 0 1
C11标准(ISO / IEC 9899:2011):
7.30.2.1.5 iswdigit函数(p:449)
C99标准(ISO / IEC 9899:1999):
7.25.2.1.5 iswdigit函数(p:395)
isdigit | 检查一个字符是否是一个数字(功能) |
---|
| 用于iswdigit的C ++文档 |
ASCII 值 (十六进制) | 字符 | iscntrl iswcntrl. | isprint iswprint. | isspace iswspace. | isblank iswblank. | isgraph iswgraph. | ispunct iswpunct. | isalnum iswalnum. | isalpha iswalpha. | isupper iswupper. | islower iswlower. | isdigit iswdigit. | isxdigit iswxdigit. | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 - 8 | 0x00-0x08 | 控制码 (NUL, etc.) | ≠0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 0x09 | tab (\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 | space | 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 |