C Library - 快速指南
C Library - <assert.h>
C标准库的assert.h头文件提供了一个名为assert的宏,可用于验证程序所做的假设,如果此假设为假,则打印诊断消息。
定义的宏assert引用另一个宏NDEBUG ,它不是“assert.h”的一部分。 如果在源文件中将NDEBUG定义为宏名称,则在包含“assert.h”的位置, assert宏定义如下 -
#define assert(ignore) ((void)0)
Library宏 (Library Macros)
以下是头文件assert.h中定义的唯一函数 -
Sr.No. | 功能说明 |
---|---|
1 | void assert(int expression) 这实际上是一个宏而不是一个函数,可以用来在C程序中添加诊断。 |
C Library - <ctype.h>
C标准库的ctype.h头文件声明了几个对测试和映射字符有用的函数。
所有函数都接受int作为参数,其值必须为EOF或可表示为unsigned char。
如果参数c满足所描述的条件,则所有函数都返回非零(true),否则返回零(false)。
Library 函数
以下是标题ctype.h中定义的函数 -
Sr.No. | 功能说明 |
---|---|
1 | int isalnum(int c) 此函数检查传递的字符是否为字母数字。 |
2 | int isalpha(int c) 此函数检查传递的字符是否为字母。 |
3 | int iscntrl(int c) 此函数检查传递的字符是否为控制字符。 |
4 | int isdigit(int c) 此函数检查传递的字符是否为十进制数字。 |
5 | int isgraph(int c) 此函数检查传递的字符是否具有使用区域设置的图形表示。 |
6 | int islower(int c) 此函数检查传递的字符是否为小写字母。 |
7 | int isprint(int c) 此函数检查传递的字符是否可打印。 |
8 | int ispunct(int c) 此函数检查传递的字符是否为标点字符。 |
9 | int isspace(int c) 此函数检查传递的字符是否为空格。 |
10 | int isupper(int c) 此函数检查传递的字符是否为大写字母。 |
11 | int isxdigit(int c) 此函数检查传递的字符是否为十六进制数字。 |
该库还包含两个接受并返回“int”的转换函数。
Sr.No. | 功能说明 |
---|---|
1 | int tolower(int c) 此函数将大写字母转换为小写。 |
2 | int toupper(int c) 此函数将小写字母转换为大写。 |
角色类
Sr.No. | 字符类和描述 |
---|---|
1 | Digits 这是一组整数{0,1,2,3,4,5,6,7,8,9}。 |
2 | Hexadecimal digits 这是{0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}的集合。 |
3 | Lowercase letters 这是一组小写字母{abcdefghijklmnopqrstu vwxyz}。 |
4 | Uppercase letters 这是一组大写字母{ABCDEFGHIJKLMNOPQRSTU VWXYZ}。 |
5 | Letters 这是一组小写和大写字母。 |
6 | Alphanumeric characters 这是一组数字,小写字母和大写字母。 |
7 | Punctuation characters 这是一套! “#$%&'()* +, - 。/ :; <=>?@ [\ _] ^ _` {|}〜 |
8 | Graphical characters 这是一组字母数字字符和标点字符。 |
9 | Space characters 这是一组制表符,换行符,垂直制表符,换页符,回车符和空格。 |
10 | Printable characters 这是一组字母数字字符,标点字符和空格字符。 |
11 | Control characters 在ASCII中,这些字符具有八进制代码000到037和177(DEL)。 |
12 | Blank characters 这些是空格和制表符。 |
13 | Alphabetic characters 这是一组小写字母和大写字母。 |
C Library - <errno.h>
C标准库的errno.h头文件定义了整数变量errno ,它由系统调用和一些库函数errno ,以便在出现错误时指示出现了什么问题。 此宏扩展为int类型的可修改左值,因此它可以由程序读取和修改。
程序启动时, errno设置为零。 标准C库的某些功能将其值修改为非零值,以指示某些类型的错误。 您也可以在方便时修改其值或重置为零。
errno.h头文件还定义了一个指示不同错误代码的宏列表,这些宏将扩展为类型为int整数常量表达式。
Library宏 (Library Macros)
以下是头文件errno.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | extern int errno 这是由系统调用和一些库函数设置的宏,如果出现错误则指示出现了什么问题。 |
2 | EDOM Domain Error 此宏表示域错误,如果输入参数位于域之外,则会在其中定义数学函数并将errno设置为EDOM。 |
3 | ERANGE Range Error 此宏表示范围错误,如果输入参数超出范围,则会发生范围错误,通过该范围定义数学函数并将errno设置为ERANGE。 |
C Library - <float.h>
C标准库的float.h头文件包含一组与浮点值相关的各种与平台相关的常量。 这些常量由ANSI C提出。它们允许制作更多可移植程序。 在检查所有常量之前,最好先了解浮点数由以下四个元素组成 -
Sr.No. | 组件和组件说明 |
---|---|
1 | S 标志(+/-) |
2 | b 指数表示的基数或基数,2表示二进制,10表示十进制,16表示十六进制,依此类推...... |
3 | e 指数,最小e min和最大e max之间的整数。 |
4 | p precision,有效数中的base-b数字。 |
基于以上4个组件,浮点的值如下 -
floating-point = ( S ) p x b<sup>e</sup>
or
floating-point = (+/-) precision x base<sup>exponent</sup>
Library宏 (Library Macros)
以下值是特定于实现的,并使用#define指令定义,但这些值可能不低于此处给出的值。 请注意,在所有情况下,FLT指的是float类型,DBL指的是double ,LDBL指的是long double 。
Sr.No. | 宏观和描述 |
---|---|
1 | FLT_ROUNDS 定义浮点加法的舍入模式,它可以具有以下任何值 -
|
2 | FLT_RADIX 2 这定义了指数的基本基数表示。 base-2是二进制,base-10是正常的十进制表示,base-16是Hex。 |
3 | FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG 这些宏定义了数字中的位数(在FLT_RADIX基础中)。 |
4 | FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 这些宏定义了舍入后可以无变化地表示的最大十进制数字(基数为10)。 |
5 | FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP 这些宏定义了基本FLT_RADIX中指数的最小负整数值。 |
6 | FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 这些宏定义了基数10中指数的最小负整数值。 |
7 | FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP 这些宏定义了基本FLT_RADIX中指数的最大整数值。 |
8 | FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 这些宏定义了基数10中指数的最大整数值。 |
9 | FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 这些宏定义了最大有限浮点值。 |
10 | FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 这些宏定义了可表示的最低有效数字。 |
11 | FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 这些宏定义了最小浮点值。 |
例子 (Example)
以下示例显示了float.h文件中定义的一些常量的用法。
#include <stdio.h>
#include <float.h>
int main () {
printf("The maximum value of float = %.10e\n", FLT_MAX);
printf("The minimum value of float = %.10e\n", FLT_MIN);
printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}
让我们编译并运行上面的程序,它将产生以下结果 -
The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312
C Library - <limits.h>
limits.h标头确定各种变量类型的各种属性。 此标头中定义的宏限制了各种变量类型的值,如char,int和long。
这些限制指定变量不能存储超出这些限制的任何值,例如,无符号字符最多可以存储255个值。
Library宏 (Library Macros)
以下值是特定于实现的,并使用#define指令定义,但这些值可能不低于此处给出的值。
宏 | 值 | 描述 |
---|---|---|
CHAR_BIT | 8 | 定义字节中的位数。 |
SCHAR_MIN | -128 | 定义签名char的最小值。 |
SCHAR_MAX | +127 | 定义签名char的最大值。 |
UCHAR_MAX | 255 | 定义unsigned char的最大值。 |
CHAR_MIN | -128 | 定义char类型的最小值,如果char表示负值,则其值将等于SCHAR_MIN,否则为零。 |
CHAR_MAX | +127 | 定义char类型的值,如果char表示负值,则其值将等于SCHAR_MAX,否则为UCHAR_MAX。 |
MB_LEN_MAX | 16 | 定义多字节字符中的最大字节数。 |
SHRT_MIN | -32768 | 定义short int的最小值。 |
SHRT_MAX | +32767 | 定义short int的最大值。 |
USHRT_MAX | 65535 | 定义unsigned short int的最大值。 |
INT_MIN | -2147483648 | 定义int的最小值。 |
INT_MAX | +2147483647 | 定义int的最大值。 |
UINT_MAX | 4294967295 | 定义unsigned int的最大值。 |
LONG_MIN | -9223372036854775808 | 定义long int的最小值。 |
LONG_MAX | +9223372036854775807 | 定义long int的最大值。 |
ULONG_MAX | 18446744073709551615 | 定义unsigned long int的最大值。 |
例子 (Example)
以下示例显示了limits.h文件中定义的一些常量的用法。
#include <stdio.h>
#include <limits.h>
int main() {
printf("The number of bits in a byte %d\n", CHAR_BIT);
printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);
printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
printf("The maximum value of SHORT INT = %d\n", SHRT_MAX);
printf("The minimum value of INT = %d\n", INT_MIN);
printf("The maximum value of INT = %d\n", INT_MAX);
printf("The minimum value of CHAR = %d\n", CHAR_MIN);
printf("The maximum value of CHAR = %d\n", CHAR_MAX);
printf("The minimum value of LONG = %ld\n", LONG_MIN);
printf("The maximum value of LONG = %ld\n", LONG_MAX);
return(0);
}
让我们编译并运行上面的程序,它将产生以下结果 -
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807
C Library - <locale.h>
locale.h标头定义特定于位置的设置,例如日期格式和货币符号。 您将找到几个定义的宏以及一个重要的结构struct lconv和下面列出的两个重要函数。
Library宏 (Library Macros)
以下是标题中定义的宏,这些宏将在下面列出的两个函数中使用 -
Sr.No. | 宏观和描述 |
---|---|
1 | LC_ALL 设置一切。 |
2 | LC_COLLATE 影响strcoll和strxfrm函数。 |
3 | LC_CTYPE 影响所有角色功能。 |
4 | LC_MONETARY 影响localeconv函数提供的货币信息。 |
5 | LC_NUMERIC 影响小数点格式和localeconv函数提供的信息。 |
6 | LC_TIME 影响strftime函数。 |
Library 函数
以下是头文件locale.h中定义的函数 -
Sr.No. | 功能说明 |
---|---|
1 | char * setlocale(int category,const char * locale) 设置或读取位置相关信息。 |
2 | struct lconv * localeconv(void) 设置或读取位置相关信息。 |
图书馆结构
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
以下是每个领域的描述 -
Sr.No. | 领域和描述 |
---|---|
1 | decimal_point 用于非货币值的小数点字符。 |
2 | thousands_sep 千位分隔符用于非货币值。 |
3 | grouping 一个字符串,指示非货币数量中每组数字的大小。 每个字符代表一个整数值,用于指定当前组中的位数。 值为0表示先前的值将用于其余组。 |
4 | int_curr_symbol 它是一串使用的国际货币符号。 前三个字符是ISO 4217:1987指定的字符,第四个字符是将货币符号与货币数量分开的字符。 |
5 | currency_symbol 用于货币的本地符号。 |
6 | mon_decimal_point 用于货币值的小数点字符。 |
7 | mon_thousands_sep 用于货币价值的千位分组字符。 |
8 | mon_grouping 一个字符串,其元素定义货币值中数字分组的大小。 每个字符代表一个整数值,用于指定当前组中的位数。 值为0表示先前的值将用于其余组。 |
9 | positive_sign 用于积极货币价值的角色。 |
10 | negative_sign 用于负货币价值的字符。 |
11 | int_frac_digits 国际货币值小数点后显示的位数。 |
12 | frac_digits 货币值小数点后显示的位数。 |
13 | p_cs_precedes 如果等于1,则currency_symbol出现在正货币值之前。 如果等于0,则currency_symbol出现在正货币值之后。 |
14 | p_sep_by_space 如果等于1,则currency_symbol由正货币值的空格分隔。 如果等于0,则currency_symbol和正货币值之间没有空格。 |
15 | n_cs_precedes 如果等于1,则currency_symbol先于负货币值。 如果等于0,则currency_symbol成功为负货币值。 |
16 | n_sep_by_space 如果等于1,则currency_symbol由负货币值的空格分隔。 如果等于0,则currency_symbol和负货币值之间没有空格。 |
17 | p_sign_posn 表示positive_sign在正货币值中的位置。 |
18 | n_sign_posn 表示negative_sign在负货币值中的位置。 |
以下值用于p_sign_posn和n_sign_posn -
值 | 描述 |
---|---|
0 | 括号将封装值和currency_symbol。 |
1 | 该符号位于值和currency_symbol之前。 |
2 | 该符号将继承值和currency_symbol。 |
3 | 该符号紧跟在值和currency_symbol之前。 |
4 | 该标志立即成为值和currency_symbol。 |
C Library - <math.h>
math.h头定义了各种数学函数和一个宏。 此库中可用的所有函数都将double作为参数,并返回double作为结果。
Library宏 (Library Macros)
此库中只定义了一个宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | HUGE_VAL 当函数的结果可能无法表示为浮点数时,将使用此宏。 如果正确结果的幅度太大而无法表示,则函数将errno设置为ERANGE以指示范围错误,并返回由宏HUGE_VAL或其否定(-HUGE_VAL)命名的特定的非常大的值。 如果结果的幅度太小,则返回零值。 在这种情况下,errno可能会也可能不会设置为ERANGE。 |
Library 函数
以下是头部math.h中定义的函数 -
Sr.No. | 功能说明 |
---|---|
1 | double acos(double x) 以弧度为单位返回x的反余弦值。 |
2 | double asin(double x) 以弧度为单位返回x的反正弦值。 |
3 | double atan(double x) 以弧度为单位返回x的反正切值。 |
4 | double atan2(double y, double x) 基于两个值的符号返回y/x弧度的反正切,以确定正确的象限。 |
5 | double cos(double x) 返回弧度角x的余弦值。 |
6 | double cosh(double x) 返回x的双曲余弦值。 |
7 | double sin(double x) 返回弧度角x的正弦值。 |
8 | double sinh(double x) 返回x的双曲正弦值。 |
9 | double tanh(double x) 返回x的双曲正切值。 |
10 | double exp(double x) 返回e提升到x次幂的值。 |
11 | double frexp(double x,int * exponent) 返回值是尾数,指数指向的整数是指数。 结果值是x =尾数* 2 ^指数。 |
12 | double ldexp(double x,int exponent) 返回x乘以2,增加到指数幂。 |
13 | double log(double x) 返回x的自然对数(base-e对数)。 |
14 | double log10(double x) 返回x的常用对数(以10为底)。 |
15 | double modf(double x,double * integer) 返回的值是小数部分(小数点后的部分),并将整数设置为整数分量。 |
16 | double pow(double x, double y) 返回x提升到y的幂。 |
17 | double sqrt(double x) 返回x平方根。 |
18 | double ceil(double x) 返回大于或等于x的最小整数值。 |
19 | double fabs(double x) 返回x的绝对值。 |
20 | double floor(double x) 返回小于或等于x的最大整数值。 |
21 | double fmod(double x,double y) 返回x的余数除以y 。 |
C Library - <setjmp.h>
setjmp.h头文件定义了宏setjmp() ,一个函数longjmp()和一个变量类型jmp_buf ,用于绕过正常的函数调用和返回规则。
Library变量 (Library Variables)
以下是标头setjmp.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | jmp_buf 这是一个数组类型,用于保存宏setjmp()和函数longjmp() 。 |
Library宏 (Library Macros)
此库中只定义了一个宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | int setjmp(jmp_buf environment) 此宏将当前environment保存到变量environment ,以供函数longjmp()以后使用。 如果此宏直接从宏调用返回,则返回零,但如果它从longjmp()函数调用返回,则返回非零值。 |
Library 函数
以下是头文件setjmp.h中定义的唯一一个函数 -
Sr.No. | 功能说明 |
---|---|
1 | void longjmp(jmp_buf environment,int value) 此函数使用相应的jmp_buf参数恢复最近一次调用setjmp()宏所保存的环境。 |
C Library - <signal.h>
signal.h头定义了一个变量类型sig_atomic_t ,两个函数调用,以及几个宏来处理程序执行过程中报告的不同信号。
Library变量 (Library Variables)
以下是标头signal.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | sig_atomic_t 这是int类型,用作信号处理程序中的变量。 这是一个整体类型的对象,即使在存在异步信号的情况下也可以作为原子实体进行访问。 |
Library宏 (Library Macros)
以下是标头signal.h中定义的宏,这些宏将用于下面列出的两个函数中。 SIG_宏与信号功能一起用于定义信号功能。
Sr.No. | 宏观和描述 |
---|---|
1 | SIG_DFL 默认信号处理程序 |
2 | SIG_ERR 表示信号错误。 |
3 | SIG_IGN 信号忽略。 |
SIG宏用于表示以下条件下的信号编号 -
Sr.No. | 宏观和描述 |
---|---|
1 | SIGABRT 程序异常终止。 |
2 | SIGFPE 浮点错误,如除零。 |
3 | SIGILL 非法操作。 |
4 | SIGINT 中断信号,如ctrl-C。 |
5 | SIGSEGV 无法访问存储,例如段违规。 |
6 | SIGTERM 终止请求。 |
Library 函数
以下是标题signal.h中定义的函数 -
Sr.No. | 功能说明 |
---|---|
1 | void(* signal(int sig,void(* func)(int)))(int) 该函数设置处理信号的函数,即信号处理程序。 |
2 | int raise(int sig) 该功能导致生成信号sig 。 sig参数与SIG宏兼容。 |
C Library - <stdarg.h>
stdarg.h头定义了一个变量类型va_list和三个宏,当参数的数量未知时,可以用来获取函数中的参数,即参数的可变数量。
使用参数列表末尾的省略号(,...)定义变量参数的函数。
Library变量 (Library Variables)
以下是标题stdarg.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | va_list 这是一种适合保存三个宏va_start(), va_arg()和va_end()所需信息的类型。 |
Library宏 (Library Macros)
以下是标题stdarg.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | void va_start(va_list ap,last_arg) 此宏初始化ap变量以与va_arg和va_end宏一起使用。 last_arg是传递给函数的最后一个已知固定参数,即省略号之前的参数。 |
2 | type va_arg(va_list ap, type) 此宏检索具有类型type的函数的参数列表中的下一个参数。 |
3 | void va_end(va_list ap) 此宏允许具有可变参数的函数使用va_start宏返回。 如果在从函数返回之前未调用va_end ,则结果是未定义的。 |
C Library - <stddef.h>
stddef.h头定义了各种变量类型和宏。 其中许多定义也出现在其他标题中。
Library变量 (Library Variables)
以下是标题stddef.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | ptrdiff_t 这是带符号的整数类型,是减去两个指针的结果。 |
2 | size_t 这是无符号整数类型,是sizeof关键字的结果。 |
3 | wchar_t 这是宽字符常量大小的整数类型。 |
Library宏 (Library Macros)
以下是标题stddef.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | NULL 此宏是空指针常量的值。 |
2 | offsetof(type, member-designator) 这会产生一个size_t类型的常量整数,它是结构成员从结构开始的字节偏移量。 该成员由member-designator给出,结构的名称以type给出。 |
C Library - <stdio.h>
stdio.h头文件定义了三种变量类型,几个宏以及用于执行输入和输出的各种函数。
Library变量 (Library Variables)
以下是标题stdio.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | size_t 这是无符号整数类型,是sizeof关键字的结果。 |
2 | FILE 这是适合于存储文件流的信息的对象类型。 |
3 | fpos_t 这是一种适合存储文件中任何位置的对象类型。 |
Library宏 (Library Macros)
以下是标题stdio.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | NULL 此宏是空指针常量的值。 |
2 | _IOFBF, _IOLBF和_IONBF 这些是扩展为具有不同值的整数常量表达式的宏,适合用作setvbuf函数的第三个参数。 |
3 | BUFSIZ 此宏是一个整数,表示setbuf函数使用的缓冲区的大小。 |
4 | EOF 此宏是负整数,表示已到达文件结尾。 |
5 | FOPEN_MAX 此宏是一个整数,表示系统可以保证同时打开的最大文件数。 |
6 | FILENAME_MAX 此宏是一个整数,表示适合保存最长文件名的char数组的最长长度。 如果实现没有限制,那么该值应该是建议的最大值。 |
7 | L_tmpnam 此宏是一个整数,表示适合保存tmpnam函数创建的最长临时文件名的char数组的最长长度。 |
8 | SEEK_CUR, SEEK_END, SEEK_SET和SEEK_SET 这些宏在fseek函数中用于定位文件中的不同位置。 |
9 | TMP_MAX 此宏是函数tmpnam可以生成的唯一文件名的最大数量。 |
10 | stderr, stdin,和stdout 这些宏是指向FILE类型的指针,它们对应于标准错误,标准输入和标准输出流。 |
Library 函数
以下是标题stdio.h中定义的函数 -
遵循相同的函数序列以便更好地理解并使用Try it (在线编译器)选项,因为在第一个函数中创建的文件将用于后续函数。
C Library - <stdlib.h>
stdlib.h头文件定义了四种变量类型,几种宏以及用于执行常规功能的各种函数。
Library变量 (Library Variables)
以下是标题stdlib.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | size_t 这是无符号整数类型,是sizeof关键字的结果。 |
2 | wchar_t 这是wide字符常量大小的整数类型。 |
3 | div_t 这是div函数返回的结构。 |
4 | ldiv_t 这是ldiv函数返回的结构。 |
Library宏 (Library Macros)
以下是标题stdlib.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | NULL 此宏是空指针常量的值。 |
2 | EXIT_FAILURE 这是退出函数在发生故障时返回的值。 |
3 | EXIT_SUCCESS 这是退出函数在成功时返回的值。 |
4 | RAND_MAX 此宏是rand函数返回的最大值。 |
5 | MB_CUR_MAX 此宏是多字节字符集中的最大字节数,不能大于MB_LEN_MAX。 |
Library 函数
以下是标题stdio.h中定义的函数 -
C Library - <string.h>
string.h头定义了一个变量类型,一个宏,以及用于操作字符数组的各种函数。
Library变量 (Library Variables)
以下是头文件中定义的变量类型。
Sr.No. | 变量和描述 |
---|---|
1 | size_t 这是无符号整数类型,是sizeof关键字的结果。 |
Library宏 (Library Macros)
以下是标题string.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | NULL 此宏是空指针常量的值。 |
Library 函数
以下是头文件中定义的函数。
C Library - <time.h>
time.h头定义了四种变量类型,两种宏和用于操作日期和时间的各种函数。
Library变量 (Library Variables)
以下是标题time.h中定义的变量类型 -
Sr.No. | 变量和描述 |
---|---|
1 | size_t 这是无符号整数类型,是sizeof关键字的结果。 |
2 | clock_t 这是适合存储处理器时间的类型。 |
3 | time_t is 这是适合存储日历时间的类型。 |
4 | struct tm 这是一个用于保存时间和日期的结构。 |
tm结构具有以下定义 -
struct tm {
int tm_sec; /* seconds, range 0 to 59 */
int tm_min; /* minutes, range 0 to 59 */
int tm_hour; /* hours, range 0 to 23 */
int tm_mday; /* day of the month, range 1 to 31 */
int tm_mon; /* month, range 0 to 11 */
int tm_year; /* The number of years since 1900 */
int tm_wday; /* day of the week, range 0 to 6 */
int tm_yday; /* day in the year, range 0 to 365 */
int tm_isdst; /* daylight saving time */
};
Library宏 (Library Macros)
以下是标题time.h中定义的宏 -
Sr.No. | 宏观和描述 |
---|---|
1 | NULL 此宏是空指针常量的值。 |
2 | CLOCKS_PER_SEC 该宏表示每秒的处理器时钟数。 |
Library 函数
以下是标题time.h中定义的函数 -
Sr.No. | 功能说明 |
---|---|
1 | char * asctime(const struct tm * timeptr) 返回指向字符串的指针,该字符串表示结构timeptr的日期和时间。 |
2 | clock_t clock(void) 返回自实现定义时代开始以来使用的处理器时钟时间(通常是程序的开头)。 |
3 | char * ctime(const time_t * timer) 返回表示基于参数计时器的本地时间的字符串。 |
4 | double difftime(time_t time1,time_t time2) 返回time1和time2(time1-time2)之间的秒数差。 |
5 | struct tm * gmtime(const time_t * timer) 计时器的值被分解为结构tm并以协调世界时(UTC)表示,也称为格林威治标准时间(GMT)。 |
6 | struct tm * localtime(const time_t * timer) 计时器的值被分解为结构tm并以本地时区表示。 |
7 | time_t mktime(struct tm * timeptr) 根据本地时区将timeptr指向的结构转换为time_t值。 |
8 | size_t strftime(char * str,size_t maxsize,const char * format,const struct tm * timeptr) 根据格式定义的格式规则格式化结构timeptr中表示的时间并存储到str中。 |
9 | time_t time(time_t * timer) 计算当前的日历时间并将其编码为time_t格式。 |