跳转至

ctype

ctype 提供字符分类与转换功能,包括判断字符是否为字母、数字、标点、空白、控制字符等分类接口,以及大小写转换和 ASCII 码转换接口,同时支持指定区域设置(locale)的变体接口。

头文件清单

#include "open_source/musl/include/ctype.h"

接口清单

接口名称 功能简述
isalnum 判断入参是否为字母或数字
isalpha 判断入参是否为字母
isblank 判断入参是否为空格或水平制表符
iscntrl 判断入参是否为控制字符
isdigit 判断入参是否为十进制数字
isgraph 判断入参是否有图形表示
islower 判断入参是否为小写字母
isprint 判断入参是否为可打印字符
ispunct 判断入参是否为标点符号
isspace 判断入参是否为空白字符
isupper 判断入参是否为大写字母
isxdigit 判断入参是否为十六进制数字
tolower 将大写字母转换成小写字母
toupper 将小写字母转换成大写字母
isalnum_l 判断入参是否为字母或数字(支持指定区域设置)
isalpha_l 判断入参是否为字母(支持指定区域设置)
isblank_l 判断入参是否为空格或水平制表符(支持指定区域设置)
iscntrl_l 判断入参是否为控制字符(支持指定区域设置)
isdigit_l 判断入参是否为十进制数字(支持指定区域设置)
isgraph_l 判断入参是否有图形表示(支持指定区域设置)
islower_l 判断入参是否为小写字母(支持指定区域设置)
isprint_l 判断入参是否为可打印字符(支持指定区域设置)
ispunct_l 判断入参是否为标点符号(支持指定区域设置)
isspace_l 判断入参是否为空白字符(支持指定区域设置)
isupper_l 判断入参是否为大写字母(支持指定区域设置)
isxdigit_l 判断入参是否为十六进制数字(支持指定区域设置)
tolower_l 将大写字母转换成小写字母(支持指定区域设置)
toupper_l 将小写字母转换成大写字母(支持指定区域设置)
isascii 判断入参是否为ASCII码
toascii 将字符转换成ASCII码

Functions

isalnum

int isalnum(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为字母(A-Z、a-z)或数字(0-9)
  • 字母和数字字符时返回非零值,否则返回零
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为字母或数字 c 为字母或数字字符
0 字符不是字母或数字 c 不是字母或数字字符

isalpha

int isalpha(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为字母(A-Z、a-z)
  • 字母字符时返回非零值,否则返回零
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为字母 c 为字母字符
0 字符不是字母 c 不是字母字符

isblank

int isblank(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为空白字符
  • 空白字符包括空格(' ')和水平制表符('\t')
  • 其他字符(包括换行符、回车符等)不属于空白字符

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为空白字符 c 为空格或水平制表符
0 字符不是空白字符 c 不是空格或水平制表符

iscntrl

int iscntrl(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为控制字符
  • 控制字符包括 ASCII 码 0~31 及 DEL(0x7F)
  • 控制字符时返回非零值,否则返回零

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为控制字符 c 为控制字符(0~31或0x7F)
0 字符不是控制字符 c 不是控制字符

isdigit

int isdigit(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为十进制数字字符(0-9)
  • 数字字符时返回非零值,否则返回零
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为十进制数字 c 为'0'~'9'
0 字符不是十进制数字 c 不是'0'~'9'

isgraph

int isgraph(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为可显示图形字符(不含空格)
  • 可显示图形字符的 ASCII 码范围为 0x21~0x7E
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为可显示图形字符 c 为可显示图形字符(不含空格)
0 字符不是可显示图形字符 c 不是可显示图形字符

islower

int islower(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为小写字母(a-z)
  • 小写字母字符时返回非零值,否则返回零
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为小写字母 c 为'a'~'z'
0 字符不是小写字母 c 不是'a'~'z'

isprint

int isprint(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为可打印字符(含空格)
  • 可打印字符的 ASCII 码范围为 0x20~0x7E
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为可打印字符 c 为可打印字符(含空格)
0 字符不是可打印字符 c 不是可打印字符

ispunct

int ispunct(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为标点符号字符
  • 标点符号字符为可显示图形字符且非字母非数字
  • 标点符号字符时返回非零值,否则返回零

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为标点符号 c 为可显示图形字符且非字母非数字
0 字符不是标点符号 c 不是标点符号

isspace

int isspace(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为空白字符
  • 空白字符包括空格(' ')、水平制表符('\t')、换行符('\n')、垂直制表符('\v')、换页符('\f')、回车符('\r')
  • C 语言模式下通过内联函数 __isspace 的宏优化实现

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为空白字符 c 为空白字符
0 字符不是空白字符 c 不是空白字符

isupper

int isupper(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为大写字母(A-Z)
  • 大写字母字符时返回非零值,否则返回零
  • C 语言模式下通过宏优化实现,避免函数调用开销

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为大写字母 c 为'A'~'Z'
0 字符不是大写字母 c 不是'A'~'Z'

isxdigit

int isxdigit(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为十六进制数字字符
  • 十六进制数字包括 0-9、a-f、A-F
  • 十六进制数字字符时返回非零值,否则返回零

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为十六进制数字 c 为'0''9'、'a''f'或'A'~'F'
0 字符不是十六进制数字 c 不是十六进制数字字符

tolower

int tolower(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 将大写字母转换为对应的小写字母
  • 若入参不是大写字母,则原样返回
  • 非大写字母字符不受转换影响

入参

名称 参数类型 详细说明 约束取值范围
c int 待转换的字符 -

返回值

返回值 文字含义 触发场景
小写字母对应的ASCII值 转换成功 c 为大写字母
原入参值 未转换 c 不是大写字母

toupper

int toupper(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 将小写字母转换为对应的大写字母
  • 若入参不是小写字母,则原样返回
  • 非小写字母字符不受转换影响

入参

名称 参数类型 详细说明 约束取值范围
c int 待转换的字符 -

返回值

返回值 文字含义 触发场景
大写字母对应的ASCII值 转换成功 c 为小写字母
原入参值 未转换 c 不是小写字母

isalnum_l

int isalnum_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为字母(A-Z、a-z)或数字(0-9)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 isalnum 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为字母或数字 c 为字母或数字字符
0 字符不是字母或数字 c 不是字母或数字字符

isalpha_l

int isalpha_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为字母(A-Z、a-z)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 isalpha 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为字母 c 为字母字符
0 字符不是字母 c 不是字母字符

isblank_l

int isblank_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为空白字符(空格或水平制表符)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 isblank 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为空白字符 c 为空格或水平制表符
0 字符不是空白字符 c 不是空格或水平制表符

iscntrl_l

int iscntrl_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为控制字符
  • 控制字符包括 ASCII 码 0~31 及 DEL(0x7F)
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为控制字符 c 为控制字符(0~31或0x7F)
0 字符不是控制字符 c 不是控制字符

isdigit_l

int isdigit_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为十进制数字字符(0-9)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 isdigit 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为十进制数字 c 为'0'~'9'
0 字符不是十进制数字 c 不是'0'~'9'

isgraph_l

int isgraph_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为可显示图形字符(不含空格)
  • 可显示图形字符的 ASCII 码范围为 0x21~0x7E
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为可显示图形字符 c 为可显示图形字符(不含空格)
0 字符不是可显示图形字符 c 不是可显示图形字符

islower_l

int islower_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为小写字母(a-z)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 islower 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为小写字母 c 为'a'~'z'
0 字符不是小写字母 c 不是'a'~'z'

isprint_l

int isprint_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为可打印字符(含空格)
  • 可打印字符的 ASCII 码范围为 0x20~0x7E
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为可打印字符 c 为可打印字符(含空格)
0 字符不是可打印字符 c 不是可打印字符

ispunct_l

int ispunct_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为标点符号字符
  • 标点符号字符为可显示图形字符且非字母非数字
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为标点符号 c 为可显示图形字符且非字母非数字
0 字符不是标点符号 c 不是标点符号

isspace_l

int isspace_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为空白字符
  • 空白字符包括空格(' ')、水平制表符('\t')、换行符('\n')、垂直制表符('\v')、换页符('\f')、回车符('\r')
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为空白字符 c 为空白字符
0 字符不是空白字符 c 不是空白字符

isupper_l

int isupper_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为大写字母(A-Z)
  • 支持指定区域设置(locale)参数
  • 区域参数当前未参与实际判定逻辑,判定结果与 isupper 一致

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为大写字母 c 为'A'~'Z'
0 字符不是大写字母 c 不是'A'~'Z'

isxdigit_l

int isxdigit_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为十六进制数字字符
  • 十六进制数字包括 0-9、a-f、A-F
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
非0值 字符为十六进制数字 c 为'0''9'、'a''f'或'A'~'F'
0 字符不是十六进制数字 c 不是十六进制数字字符

tolower_l

int tolower_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 将大写字母转换为对应的小写字母
  • 若入参不是大写字母,则原样返回
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待转换的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
小写字母对应的ASCII值 转换成功 c 为大写字母
原入参值 未转换 c 不是大写字母

toupper_l

int toupper_l(int c, locale_t l)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 将小写字母转换为对应的大写字母
  • 若入参不是小写字母,则原样返回
  • 支持指定区域设置(locale)参数

入参

名称 参数类型 详细说明 约束取值范围
c int 待转换的字符 -
l locale_t 区域设置标识 -

返回值

返回值 文字含义 触发场景
大写字母对应的ASCII值 转换成功 c 为小写字母
原入参值 未转换 c 不是小写字母

isascii

int isascii(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 判断入参字符是否为 ASCII 码字符
  • ASCII 码范围为 0~127
  • 非 ASCII 码字符(高位被置位)返回 0

入参

名称 参数类型 详细说明 约束取值范围
c int 待判断的字符 -

返回值

返回值 文字含义 触发场景
非0值 字符为ASCII码 c 值在0~127范围内
0 字符不是ASCII码 c 值不在0~127范围内

toascii

int toascii(int c)

头文件清单

#include "open_source/musl/include/ctype.h"

功能说明

  • 将入参字符转换为 ASCII 码字符
  • 通过将高位(第7位及以上)清零实现转换
  • 转换结果等价于 c & 0x7F

入参

名称 参数类型 详细说明 约束取值范围
c int 待转换的字符 -

返回值

返回值 文字含义 触发场景
0~127 转换后的ASCII码字符 任何输入字符