非常教程

C参考手册

字符串 | Strings

Null-terminated byte strings

以空字符结尾的字节串(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 ++文档|

|:----|

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。