C library:
assert.h 定义一个可用作标准调试工具的宏函数:
assert 宏功能 评估断言(宏)
字符处理功能
该标头声明了一组用于分类和转换单个字符的函数。
功能:
这些函数的INT等效一个字符作为参数并返回一个INT,它们可以是另一个字符或表示布尔值的值:一个INT的值0手段假,以及INT从值不同0表示真。
(1)字符分类功能:
他们检查作为参数传递的字符是否属于某个类别:
isalnum
检查字符是否为字母数字(函数)
isalpha
检查字符是否为字母(函数)
isblank
检查字符是否为空白(功能)
iscntrl
检查字符是否为控制字符(功能)
isdigit
检查字符是否为十进制数字(功能)
isgraph
检查字符是否具有图形表示(功能)
islower
检查字符是否为小写字母(功能)
isprint
检查字符是否可打印(功能)
ispunct
检查字符是否为标点符号(函数)
isspace
检查字符是否为空格(功能)
isupper
检查字符是否为大写字母(功能)
isxdigit
检查字符是否为十六进制数字(函数)
(2)字符转换功能:
在字母大小写之间转换的两个函数:
tolower
将大写字母转换为小写字母(函数)
toupper
将小写字母转换为大写字母(函数)
C错误
定义以下宏的C标头:
errno: 上一个错误编号(宏)
加上至少三个其他宏常量: 益登, 范围 和 序列号
浮点环境
该标头声明一组函数和宏以及特定类型,以访问浮点环境。
在浮点环境维持一系列状态标志和具体的控制模式。关于浮点环境的具体内容取决于实现,但是状态标志通常包括浮点异常及其相关信息,并且控制模式至少包括舍入方向。
功能:
(1)浮点异常:
feclearexcept
清除浮点异常(函数)
feraiseexcept
引发浮点异常(函数)
fegetexceptflag
获取浮点异常标志(函数)
fesetexceptflag
设置浮点异常标志(函数)
(2)取整方向:
fegetround
获取舍入方向模式(功能)
fesetround
设置舍入方向模式(功能)
(3)整个环境:
fegetenv
获取浮点环境(函数)
fesetenv
设置浮点环境(函数)
feholdexcept
保留浮点异常(函数)
feupdateenv
更新浮点环境(函数)
(4)其他:
fetestexcept
测试浮点异常(功能)
(5)种类:
fenv_t
浮点环境类型(type)
fexcept_t
浮点异常类型(type)
(6)宏常量:
<1>浮点异常
FE_DIVBYZERO
磁极错误异常(宏)
FE_INEXACT
不精确的结果异常(宏)
FE_INVALID
无效的参数异常(宏)
FE_OVERFLOW
溢出范围错误异常(宏)
FE_UNDERFLOW
下溢范围错误异常(宏)
FE_ALL_EXCEPT
所有例外(宏)
<2>取整方向
FE_DOWNWARD
向下舍入方向模式(宏)
FE_TONEAREST
最接近的舍入方向模式(宏)
FE_TOWARDZERO
向零舍入方向模式(宏)
FE_UPWARD
向上舍入方向模式(宏)
<3>整个环境
FE_DFL_ENV
默认环境(宏)
<4>pragma
FENV_ACCESS
进入浮点环境(pragma)
浮点类型的特征
此标头描述了特定系统和所使用的编译器实现的浮点类型的特征。
浮点数由四个元素组成:
信号:负号或非负号
一个基数(或基数):表示可以用一位数字表示的不同数字(二进制为2,十进制为10,十六进制为16,依此类推...)
有效数字(或尾数):这是上述基数的一系列数字。该系列中的位数是所谓的精度。
指数(也称为特征或小数位数):代表有效位数的偏移量,以下列方式影响该值:
浮点的值 = 有效位数x 基本指数及其对应的符号。
宏常量
以下面板显示了此标头中定义的不同值的名称以及所有实现的最小值或最大值(每个实现可以将这些值设置为大于或小于指定的此最小值或最大值):
当一组宏时存在前缀FLT_, DBL_ 和 LDBL_,以 FLT_适用于该float类型,DBL_到double和一个LDBL_到long double。
兼容性
FLT_EVAL_METHOD 和 DECIMAL_DIG 为符合1999年或以后的C标准(自2011年以来仅包括C ++标准:C ++ 11)的库定义。
C整数类型
具有支持基于宽度的整数类型的库的标头。
包括此标头会自动包括(定义基于宽度的整数类型)。
以下宏扩展为包含 打印 要么 扫描说明符,适用于基于特定宽度的整数类型:
此标头还声明了以下函数,这些函数将 cstdlib和 cwchar 对于 intmax_t:
imaxdiv_t
类型返回 imaxdiv, 哪一个是 div_t 等价于 intmax_t。
ISO 646替代运算符
此标头为ISO646标准字符集不支持的C ++运算符定义了11个宏常量以及其他拼写形式:
在C ++中,保留字与这些宏具有相同的名称,并被视为其各自运算符的别名。因此,包含此标头在C ++中无效,并且对于使用备用名称也没有必要。
整数类型的大小
该头文件定义了常量,并限制了所使用的特定系统和编译器实现的基本整数类型。
基本浮点类型的限制在()中定义。
特定于宽度的整数类型和其他typedef类型的限制在()中定义。
兼容性
LLONG_MIN, LLONG_MAX 和 ULLONG_MAX 为符合1999年或以后的C标准(自2011年以来仅包括C ++标准:C ++ 11)的库定义。
C本地化库
C语言支持特定于本地化的设置,例如特定于区域性的日期格式或特定于国家/地区的货币符号。
每个系统和特定的编译器实现都可以提供不同的语言环境选择(使用setlocale函数),但是对于任何C程序,至少有两个语言环境可供选择:
该"C"区域是最小的区域。这是一个相当中性的语言环境,在所有系统和编译器中都具有相同的设置,因此使用此语言环境的程序的确切结果是可以预测的。这是所有C程序默认使用的语言环境。
系统的默认语言环境(由空的C字符串指定:“”)。它是应用程序运行环境所提供的语言环境配置。通常,它包含比“ C”语言环境更多的本地化信息。
此标头声明结构 列夫 和功能 setlocale 和 语言环境,以及要与之配合使用的几个宏。这些用于定义特定于语言环境的信息。
请注意,语言环境配置会影响标准C库中许多功能的行为:
在()中,函数Strcoll 和 strxfrm 受角色转换规则的影响。
在()中,除等轴 和 isxdigit 受所选扩展字符集的影响。
在()中,格式化的输入/输出操作受数字格式设置中的字符转换规则和小数点字符集影响。
在()中,函数strftime 受时间格式设置的影响。
在此标头中,它影响其函数返回的值 setlocale 和 语言环境。
还向程序提供了一些语言环境信息,以便以对语言环境敏感的方式更好地呈现其输出(语言环境)。
种类
struct lconv
数值格式信息(类型)
功能
setlocale
设置或检索语言环境(函数)
localeconv
获取数量的区域设置格式参数(函数)
C数字库
标头声明了一组函数来计算常见的数学运算和转换:
功能:
三角函数
cos 计算余弦(函数)
sin 计算正弦(函数)
tan 计算切线(函数)
acos 计算反余弦(函数)
asin 计算反正弦(函数)
atan 计算反正切(函数)
atan2 用两个参数计算反正切(函数)
双曲函数
cosh 计算双曲余弦(函数)
sinh 计算双曲正弦(函数)
tanh 计算双曲正切(函数)
acosh 计算面积双曲余弦(函数)
asinh 计算面积双曲正弦(函数)
atanh 计算区域双曲正切(函数)
指数和对数函数
exp 计算指数函数(function)
frexp 获取有效和指数(函数)
ldexp 从有效数和指数(函数)生成值
log 计算自然对数(函数)
log10 计算常用对数(函数)
modf 分为小数和整数部分(函数)
exp2 计算二进制指数函数(function)
expm1 计算指数减一(函数)
ilogb 整数二进制对数(函数)
log1p 计算对数加一(函数)
log2 计算二进制对数(函数)
logb 计算浮点基数对数(函数)
scalbn 使用浮点基指数来缩放有效位数(函数)
scalbln 使用浮点基指数(long)缩放有效位数(函数)
power功能:
pow 提升功率(功能)
sqrt 计算平方根(函数)
cbrt 计算立方根(函数)
hypot 计算斜边(函数)
误差和伽玛函数:
erf 计算误差函数(function)
erfc 计算互补误差函数(function)
tgamma 计算伽玛函数(function)
lgamma 计算对数伽马函数(function)
舍入和余数函数:
ceil 舍入值(函数)
floor 舍入值(函数)
fmod 计算除法的余数(函数)
trunc 截断值(函数)
round 舍入到最接近(函数)
lround 四舍五入到最接近的整数并转换为长整数(函数)
llround 四舍五入到最接近的整数并转换为长整型(函数)
rint 四舍五入到整数值(函数)
lrint 舍入并转换为长整数(函数)
llrint 舍入并转换为long long整数(函数)
nearbyint 四舍五入到附近的整数值(函数)
remainder 计算余数(IEC 60559)(功能)
remquo 计算余数和商(函数)
浮点运算功能:
copysign 复制标志(功能)
nan 生成安静的NaN (函数)
nextafter 下一个可表示的值(函数)
nexttoward 下一个可表示的值朝向精确值(函数)
最小,最大,差函数:
fdim 正差(函数)
fmax 最大值(函数)
fmin 最小值(函数)
其他功能:
fabs 计算绝对值(函数)
abs 计算绝对值(函数)
fma 乘加(函数)
宏/函数:
这些在C中作为宏实现,在C ++中作为函数实现:
分类宏/功能:
fpclassify 分类浮点值(宏/函数)
isfinite 是有限值(宏)
isinf 是无穷大(宏/功能)
isnan 不是数字(宏/函数)
isnormal 正常(宏/功能)
signbit 符号位(宏/功能)
比较宏/功能:
isgreater 更大(宏)
isgreaterequal 大于或等于(宏)
isless 少(宏)
islessequal 小于或等于(宏)
islessgreater 小于或大于(宏)
isunordered 无序(宏)
宏常量:
math_errhandling 错误处理(宏)
INFINITY 无限(常数)
NAN 非数字(常量)
HUGE_VAL 巨大的价值(不变)
HUGE_VALF 巨大的浮动价值
HUGE_VALL 巨大的双精度值(常量)
此标头还定义了以下宏常量(自C99 / C ++ 11起):
种类
double_t 浮点类型(type)
float_t 浮点类型(type)
非本地跳
通过此头文件提供的工具,程序员可以通过提供保留跳转环境的方法来跳过正常的函数调用并返回规则。
标头提供一个函数,具有函数形式和特定类型的宏:
功能:
longjmp 跳远(功能)
宏功能:
setjmp 保存呼叫环境以进行跳远(宏)
种类:
jmp_buf 键入以保留信息以恢复调用环境()
C库处理信号
一些正在运行的环境使用信号来通知正在运行的进程某些事件。这些事件可能与程序代码执行的错误(例如错误的算术运算)或异常情况(例如请求中断程序)有关。
信号通常表示程序已被要求终止或发生了不可恢复的错误的情况,因此处理信号可以执行终止前的清除操作或尝试以某种方式从错误中恢复。
在标准C库中设计的情况下,并非所有运行环境都需要生成自动信号,并且某些其他环境不仅会生成这些信号,还会生成更多特定的信号。但无论如何,所有通过调用函数raise显式生成的信号都将传递到其相应的信号处理程序。
功能:
signal 将功能设置为处理信号(功能)
raise 产生信号(函数)
种类:
sig_atomic_t 整体式(type)
宏常量:
可变参数处理
该标头定义了宏,以访问未命名参数列表中的各个参数,这些参数的编号和类型对于调用的函数是未知的。
一个函数可以通过在其常规命名参数后加逗号和三个点(,...)来接受数量不等的附加参数而无需相应的参数声明:
return_type function_name(parameter_declarations,...);
要访问这些附加参数,可以使用在此标头中声明的宏va_start,va_arg和va_end:
<1>首先,va_start将变量参数列表初始化为va_list。
<2>随后执行va_arg会产生附加参数的值,其顺序与传递给函数的顺序相同。
<3>最后,va_end必须在函数返回之前执行。
种类:
va_list 键入以保存有关变量参数的信息()
宏功能:
va_start 初始化变量参数列表(宏)
va_arg 检索下一个参数(宏)
va_end 结束使用变量参数列表(宏)
va_copy 复制变量参数列表(宏)
布尔型
此标头在C中的目的是添加布尔类型以及true和false值作为宏定义。
在直接支持这些类型的C ++中,标头仅包含一个宏,可用于检查是否支持该类型:
宏常量:
C标准定义
该头定义了某些类型的语言隐式生成或使用的几种类型。
种类:
ptrdiff_t 指针减法的结果(类型)
size_t 无符号整数类型(type)
max_align_t 标量对齐最宽的类型()
nullptr_t 空指针类型(C ++)(类型)
在C中,此标头还包括wchar_t类型(宽字符类型)的声明,在C ++中,该声明是一种语言关键字,用于标识不同的基本类型(C ++中不需要标头)。
宏功能:
offsetof 返回成员的偏移量(宏)
宏常量:
NULL 空指针(宏)
整数类型
该标头定义了一组具有特定宽度要求的整数类型别名,以及指定其限制的宏和用于创建这些类型的值的宏函数。
种类:
以下是基本整数类型或扩展整数类型的 typedef 。
其中一些typedef可能表示相同的类型。因此,函数重载不应依赖于它们的不同。
*请注意,某些类型是可选的(因此,不保证可移植性)。特定的库实现也可以使用其系统支持的其他宽度来定义其他类型。无论如何,如果定义了签名版本或未签名版本,则将同时定义签名和未签名版本。
(1)cstdint类型限制
其中N是8、16、32、64之一,或库支持的任何其他类型宽度。
仅定义与库支持的类型相对应的宏。
(2)其他类型的限制
其他标准整数类型的限制:
(3)类似函数的宏
这些类似于函数的宏扩展为整数常量,适用于初始化上述类型的对象:
例如:
INTMAX_C(2012) // expands to 2012LL or similar
C库执行输入/输出操作
输入和输出操作也可以在下,用来执行++ Ç 圣 ANDAR d 我 NPUT和ö安输出库(cstdio,被称为stdio.h中在C语言)。该库使用所谓的流与物理设备(例如键盘,打印机,终端或系统支持的任何其他类型的文件)一起操作。流是一种以统一方式与之交互的抽象。所有流都具有相似的属性,而与它们所关联的物理介质的各个特征无关。
流在cstdio库中作为指向FILE的指针处理对象。指向FILE对象的指针唯一地标识一个流,并在涉及该流的操作中用作参数。
还存在三个标准流:stdin,stdout和stderr,它们是使用该库为所有程序自动创建和打开的。
(1)流属性:
流具有一些属性,这些属性定义可以在它们上使用哪些函数以及这些函数如何处理通过它们输入或输出的数据。其中的大多数属性是在使用fopen函数将流与文件(打开的文件)关联时定义的:
读/写访问
指定流对它们关联的物理介质是否具有读或写访问权限(或两者都有)。
文字/二进制
文本流被认为代表一组文本行,每个文本行以换行符结束。根据运行应用程序的环境,文本流可能会发生某些字符转换,以使某些特殊字符适应环境的文本文件规范。另一方面,二进制流是在不进行翻译的情况下从物理介质写入或读取的字符序列,与读取或写入该流的字符一一对应。
缓冲
缓冲区是一个内存块,在对数据进行物理读取或写入关联文件或设备之前,先在其中累积数据。流可以完全缓冲,行缓冲或不缓冲。在完全缓冲的流上,当缓冲区已满时,将读取/写入数据;在行缓冲的流上,当遇到换行符时会发生这种情况;而在非缓冲流上,则应尽快读取/写入数据。
取向
打开时,流没有方向。对它们执行输入/输出操作后,它们将变为面向字节的或面向宽的,这取决于所执行的操作(通常,中定义的功能是面向字节的,而中的功能是面向字节的)面向广泛)。有关更多信息,请参见cwchar。
(2)指标:
流具有某些内部指示器,这些指示器指定其当前状态并影响对其执行的某些输入和输出操作的行为:
错误指示
当与流有关的操作中发生错误时,设置此指示器。可以使用ferror函数检查该指示器,并且可以通过调用clearerr,freopen或rewind来重置该指示器。
文件结束指示符
设置时,指示对流执行的最后读取或写入操作已到达文件末尾。可以使用feof函数进行检查,也可以通过调用clearerr或freopen或通过调用任何重新定位函数(rewind,fseek和fsetpos)将其重置。
位置指示器
它是每个流的内部指针,指向下一个I / O操作中要读取或写入的下一个字符。它的值可以通过ftell和fgetpos函数获得,并且可以使用重定位函数rewind,fseek和fsetpos进行更改。
功能:
<1> 文件操作:
remove 删除文件(功能)
rename 重命名文件(功能)
tmpfile 打开一个临时文件(函数)
tmpnam 生成临时文件名(函数)
<2>档案存取:
fclose 关闭文件(功能)
fflush 冲洗流(功能)
fopen 打开文件(功能)
freopen 重新打开具有不同文件或模式(功能)的流
Setbuf 设置流缓冲区(函数)
setvbuf 更改流缓冲(功能)
<3>格式化的输入/输出:
fprintf 将格式化的数据写入流(函数)
fscanf 从流中读取格式化的数据(函数)
printf 将格式化的数据打印到标准输出(功能)
scanf 从stdin读取格式化的数据(函数)
snprintf 将格式化的输出写到大小缓冲区(函数)
sprintf 将格式化的数据写入字符串(函数)
sscanf 从字符串读取格式化的数据(函数)
vfprintf 将可变参数列表中的格式化数据写入流(函数)
vfscanf 将流中的格式化数据读取到变量参数列表(函数)中
vprintf 将格式化的数据从变量参数列表打印到stdout (函数)
vscanf 将格式化的数据读入变量参数列表(函数)
vsnprintf 将格式化的数据从变量参数列表写入大小已设置的缓冲区(函数)
vsprintf 将变量参数列表中的格式化数据写入字符串(函数)
vsscanf 将格式化的数据从字符串读入变量参数列表(函数)
<4>字符输入/输出:
fgetc 从流中获取字符(函数)
fgets 从流中获取字符串(函数)
fputc 将字符写入流(函数)
fputs 将字符串写入流(函数)
getc 从流中获取字符(函数)
getchar 从stdin获取字符(函数)
gets 从stdin获取字符串(函数)
putc 将字符写入流(函数)
Putchar 将字符写入标准输出(函数)
puts 将字符串写入stdout (函数)
ungetc 从流中取消字符(功能)
<5>直接输入/输出:
fread 从流中读取数据块(函数)
fwrite 将数据块写入流(函数)
<6>文件位置:
fgetpos 获取流中的当前位置(函数)
fseek 重新定位流位置指示器(功能)
fsetpos 设置流的位置指示器(功能)
ftell 获取流中的当前位置(函数)
rewind 将流的位置设置为开头(函数)
<7>错误处理:
clearerr 清除错误指示灯(功能)
feof 检查文件结束指示器(功能)
ferror 检查错误指示灯(功能)
perror 打印错误信息(功能)
巨集:
BUFSIZ 缓冲区大小(恒定)
EOF 文件结束(常量)
FILENAME_MAX 文件名的最大长度(常量)
FOPEN_MAX 同时开放流的潜在限制(恒定)
L_tmpnam 临时文件名的最小长度(常量)
NULL 空指针(宏)
TMP_MAX 临时文件数(常量)
此外:_IOFBF,_IOLBF,_IONBF(使用setvbuf用来)
和SEEK_CUR,SEEK_END和SEEK_SET(与用于FSEEK)。
种类:
FILE 包含控制流的信息的对象(类型)
fpos_t 包含指定文件中位置的信息的对象(类型)
size_t 无符号整数类型(type)
C标准通用工具库
该头定义了几个通用功能,包括动态内存管理,随机数生成,与环境的通信,整数算术,搜索,排序和转换。
功能:
(1)字符串转换:
atof 将字符串转换为双精度(function)
atoi 将字符串转换为整数(函数)
Atol 将字符串转换为长整数(函数)
atoll 将字符串转换为long long整数(函数)
strtod 将字符串转换为双精度(function)
strtof 将字符串转换为浮点数(函数)
strtol 将字符串转换为长整数(函数)
strtold 将字符串转换为long double (function)
Strtoll 将字符串转换为long long整数(函数)
strtoul 将字符串转换为无符号长整数(函数)
strtoull 将字符串转换为无符号long long整数(函数)
(2)伪随机序列生成:
rand 生成随机数(函数)
srand 初始化随机数生成器(函数)
(3)动态内存管理:
calloc 分配和零初始化数组(函数)
free 取消分配内存块(函数)
malloc 分配存储块(功能)
realloc 重新分配内存块(函数)
(4)环境:
abort 中止当前过程(功能)
atexit 设置要在退出时执行的功能(功能)
at_quick_exit 设置要在快速退出时执行的功能(功能)
exit 终止调用过程(函数)
getenv 获取环境字符串(函数)
quick_exit 快速终止呼叫过程(功能)
system 执行系统命令(功能)
_Exit 终止调用过程(函数)
(5)搜索和排序:
bsearch 数组中的二进制搜索(函数)
qsort 对数组的元素进行排序(函数)
(6)整数算术:
abs 绝对值(函数)
div 积分除法(功能)
labs 绝对值(函数)
ldiv 积分除法(功能)
llabs 绝对值(函数)
lldiv 积分除法(功能)
(7)多字节字符:
mblen 获取多字节字符的长度(函数)
mbtowc 将多字节序列转换为宽字符(函数)
wctomb 将宽字符转换为多字节序列(函数)
(8)多字节字符串:
mbstowcs 将多字节字符串转换为宽字符字符串(函数)
wcstombs 将宽字符字符串转换为多字节字符串(函数)
宏常量:
EXIT_FAILURE 故障终止代码(宏)
EXIT_SUCCESS 成功终止代码(宏)
MB_CUR_MAX 多字节字符的最大大小(宏)
NULL 空指针(宏)
RAND_MAX rand返回的最大值(宏)
种类:
div_t div返回的结构(类型)
ldiv_t ldiv返回的结构(类型)
lldiv_t lldiv返回的结构(类型)
size_t 无符号整数类型(type)
C字符串
该头文件定义了几个函数来操纵C字符串和数组。
功能:
(1)复制中:
Memcpy 复制内存块(功能)
memmove 移动内存块(功能)
strcpy 复制字符串(函数)
strncpy 复制字符串中的字符(函数)
(2)串联:
strcat 连接字符串(函数)
Strncat 附加字符串中的字符(功能)
(3)比较:
memcmp 比较两个内存块(函数)
strcmp 比较两个字符串(函数)
Strcoll 使用语言环境比较两个字符串(函数)
strncmp 比较两个字符串的字符(函数)
strxfrm 使用语言环境转换字符串(函数
(4)搜索:
memchr 在内存块中找到字符(功能)
strchr 找到字符串中第一个出现的字符(函数)
strcspn 获取跨度直到字符串中的字符(函数)
strpbrk 找到字符串中的字符(函数)
strrchr 找到字符串中最后一次出现的字符(函数)
strspn 获取字符串中字符集的范围(函数)
strstr 找到子字符串(函数)
strtok 将字符串拆分为标记(函数)
其他:
memset 填充内存块(功能)
strerror 获取错误消息字符串的指针(函数)
strlen 获取字符串长度(函数)
巨集:
NULL 空指针(宏)
种类:
size_t 无符号整数类型(type)
此标头定义了与中的函数相对应的宏函数,但可以将其他非浮点类型用作参数:该
函数中的每个函数至少应将一个double作为参数(模组)被定义为具有相同语义但使用通用参数的宏:而是
为这些通用参数提供的每个整数类型的参数都强制转换为double;的参数浮点类型而没有转化中使用(如直接float,double或long double)。
此标头会自动包含和:如果类型通用函数存在于该函数中(带有字符前缀),则该类型泛型函数也可以采用复杂值。"c"
C时间库
该头文件包含用于获取和操作日期和时间信息的函数的定义。
功能:
(1)时间操纵:
clock 时钟程序(功能)
difftime 两次返回差(函数)
mktime 将tm结构转换为time_t (函数)
time 获取当前时间(函数)
(2)转换次数:
asctime 将tm结构转换为字符串(函数)
ctime 将time_t值转换为字符串(函数)
gmtime 将time_t转换为tm作为UTC时间(函数)
localtime 将time_t转换为本地时间(函数)
strftime 将时间格式化为字符串(函数)
宏常量:
CLOCKS_PER_SEC 每秒时钟滴答声(宏)
NULL 空指针(宏)
:类型
clock_t 时钟类型(type)
size_t 无符号整数类型(type)
time_t 时间类型(type)
struct tm 时间结构(类型)
Unicode字符
此标头提供对16位和32位字符的支持,适合使用UTF-16和UTF-32进行编码。
种类:
在C中,此标头定义两个宏:char16_t和char32_t,它们映射到适当大小的无符号整数类型(分别与uint_least16_t和uint_least32_t相同)。
在C ++中,char16_t和char32_t是基本类型(因此,此标头未在C ++中定义此类宏)。
功能
c16rtomb 将16位字符转换为多字节序列(函数)
c32rtomb 将32位字符转换为多字节序列(函数)
mbrtoc16 将多字节序列转换为16位字符(函数)
mbrtoc32 将多字节序列转换为32位字符(函数)
兼容性
此标头由扩展C99的技术报告首次在C中引入,并得到最新的C和C ++标准(均于2011年发布)完全支持。
巨集:
在C ++中,此标头定义了以下宏:
宽字符
该头文件定义了几个用于C宽字符串的函数。
功能:
(1)输入/输出:(大多数为函数的宽版本)
fgetwc 从流中获取宽字符(函数)
get 从流中获取宽字符串(函数)
fputwc 将宽字符写入流(函数)
fwide 将宽字符串写入流(函数)
fwide 流方向(功能)
fwprintf 将格式化的数据写入流(函数)
fwscanf 从流中读取格式化的数据(函数)
getwc 从流中获取宽字符(函数)
getwchar 从stdin获取宽字符(函数)
putwc 将宽字符写入流(函数)
putwchar 将宽字符写入标准输出(函数)
swprintf 将格式化的数据写入宽字符串(函数)
swscanf 从字符串读取格式化的数据(函数)
ungetwc 从流中删除宽字符(功能)
vfwprintf 将可变参数列表中的格式化数据写入流(函数)
vfwscanf 将流中的格式化数据读取到变量参数列表(函数)中
vswprintf 将格式化的数据从变量参数列表写入大小已设置的缓冲区(函数)
vswscanf 将宽字符串中的格式化数据读入变量参数列表(函数)
vwprintf 将格式化的数据从变量参数列表打印到stdout (函数)
vwscanf 将格式化的数据读入变量参数列表(函数)
wprintf 将格式化的数据打印到标准输出(功能)
wscanf 从stdin读取格式化的数据(函数)
(2)通用实用程序:(函数的宽版本)
wcstod 将宽字符串转换为双精度(函数)
wcstof 将宽字符串转换为浮点数(函数)
wcstol 将宽字符串转换为长整数(函数)
wcstold 将宽字符串转换为长整数(函数)
wcstoll 将宽字符串转换为长整型(函数)
wcstoul 将宽字符串转换为无符号长整数(函数)
wcstoull 将宽字符串转换为无符号的long long整数(函数)
(3) 字符/字符串转换:(主要是函数的扩展版本)
btowc 将单字节字符转换为宽字符(函数)
mbrlen 获取多字节字符的长度(函数)
mbrtowc 将多字节序列转换为宽字符(函数)
mbsinit 检查初始转换状态(功能)
mbsrtowcs 将多字节字符串转换为宽字符字符串(函数)
wcrtomb 将宽字符转换为多字节序列(函数)
wctob 将宽字符转换为单字节(函数)
wcsrtombs 将宽字符字符串转换为多字节字符串(函数)
(4)字符串:(函数的宽版本)
wcscat 连接宽字符串(函数)
wcschr 在宽字符串中找到第一个出现的字符(函数)
wcscmp 比较两个字符串(函数)
wcscoll 使用语言环境比较两个宽字符串(函数)
wcscpy 复制宽字符串(函数)
wcscspn 获取跨度直到宽字符串中的字符(函数)
wcslen 获得宽的字符串长度(函数)
wcsncat 附加宽字符串中的字符(功能)
wcsncmp 比较两个宽字符串的字符(函数)
wcsncpy 复制宽字符串中的字符(功能)
wcspbrk 查找宽字符串中的字符(功能)
wcsrchr 在宽字符串中找到最后出现的字符(函数)
wcsspn 获取宽字符串中字符集的范围(函数)
wcsstr 找到宽字符串的子字符串(函数)
wcstok 将宽字符串拆分为标记(函数)
wcsxfrm 使用语言环境转换宽字符串(函数)
wmemchr 在宽字符块中查找字符(函数)
wmemcmp 比较两个宽字符块(功能)
wmemcpy 复制宽字符块(功能)
wmemmove 移动宽字符块(功能)
wmemset 填充宽字符数组(函数)
(5)时间:(函数的宽泛版本)
wcsftime 将时间格式化为宽字符串(函数)
种类:
mbstate_t 多字节转换状态(类型)
size_t 无符号整数类型(type)
struct tm 时间结构(类型)
wchar_t 宽字符(类型)
wint_t 宽int型(type)
宏常量:
NULL 空指针(宏)
WCHAR_MAX wchar_t的最大值(常量)
WCHAR_MIN wchar_t的最小值(常量)
WEOF 宽文件结尾(常量)
宽字符类型
此标头声明了一组用于分类和转换单个宽字符的函数。
有关如何使用“ C”语言环境对标准ASCII字符集进行分类的更多信息,请参见。
功能:
(1)字符分类功能
他们检查作为参数传递的字符是否属于某个类别:
Iswalnum 检查宽字符是否为字母数字(函数)
iswalpha 检查宽字符是否为字母(功能)
iswblank 检查宽字符是否为空白(功能)
iswcntrl 检查宽字符是否为控制字符(功能)
iswdigit 检查宽字符是否为十进制数字(功能)
iswgraph 检查宽字符是否具有图形表示(功能)
iswlower 检查宽字符是否为小写字母(功能)
iswprint 检查是否可以打印宽字符(功能)
iswpunct 检查宽字符是否为标点字符(功能)
iswspace 检查宽字符是否为空格(功能)
iswupper 检查宽字符是否为大写字母(功能)
iswxdigit 检查宽字符是否为十六进制数字(函数)
(2)字符转换功能
在字母大小写之间转换的两个函数:
towlower 将大写的宽字符转换为小写(函数)
towupper 将小写的宽字符转换为大写(函数)
(3)可扩展的分类/转换功能
iswctype 检查宽字符是否具有属性(功能)
towctrans 使用转换进行转换(函数)
wctrans 返回字符转换(函数)
wctype 返回字符属性(函数)
种类:
wctrans_t 宽字符转换(类型)
wctype_t 宽字符类型(type)
wint_t 宽字符整数型(type)
常数:
WEOF 宽文件结尾(常量)