目录

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

定义浮点加法的舍入模式,它可以具有以下任何值 -

  • -1 - 不确定
  • 0 - 朝零
  • 1 - 到最近
  • 2 - 朝向正无穷大
  • 3 - 朝负无穷大
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_BIT8 定义字节中的位数。
SCHAR_MIN-128 定义签名char的最小值。
SCHAR_MAX+127 定义签名char的最大值。
UCHAR_MAX255 定义unsigned char的最大值。
CHAR_MIN-128 定义char类型的最小值,如果char表示负值,则其值将等于SCHAR_MIN,否则为零。
CHAR_MAX+127 定义char类型的值,如果char表示负值,则其值将等于SCHAR_MAX,否则为UCHAR_MAX。
MB_LEN_MAX16 定义多字节字符中的最大字节数。
SHRT_MIN-32768 定义short int的最小值。
SHRT_MAX+32767 定义short int的最大值。
USHRT_MAX65535 定义unsigned short int的最大值。
INT_MIN-2147483648 定义int的最小值。
INT_MAX+2147483647 定义int的最大值。
UINT_MAX4294967295 定义unsigned int的最大值。
LONG_MIN-9223372036854775808 定义long int的最小值。
LONG_MAX+9223372036854775807 定义long int的最大值。
ULONG_MAX18446744073709551615 定义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_posnn_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_argva_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_SETSEEK_SET

这些宏在fseek函数中用于定位文件中的不同位置。

9

TMP_MAX

此宏是函数tmpnam可以生成的唯一文件名的最大数量。

10

stderr, stdin,stdout

这些宏是指向FILE类型的指针,它们对应于标准错误,标准输入和标准输出流。

Library 函数

以下是标题stdio.h中定义的函数 -

遵循相同的函数序列以便更好地理解并使用Try it (在线编译器)选项,因为在第一个函数中创建的文件将用于后续函数。
Sr.No. 功能说明
1 int fclose(FILE * stream)

关闭流。 刷新所有缓冲区。

2 void clearerr(FILE * stream)

清除给定流的文件结束和错误指示符。

3 int feof(FILE * stream)

测试给定流的文件结束指示符。

4 int ferror(FILE * stream)

测试给定流的错误指示符。

5 int fflush(FILE *stream)

刷新流的输出缓冲区。

6 int fgetpos(FILE * stream,fpos_t * pos)

获取流的当前文件位置并将其写入pos。

7 FILE * fopen(const char * filename,const char * mode)

使用给定模式打开filename指向的文件名。

8 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream)

将给定流中的数据读入ptr指向的数组。

9 FILE * freopen(const char * filename,const char * mode,FILE * stream)

将新文件名与给定的开放流关联,同时关闭流中的旧文件。

10 int fseek(FILE * stream,long int offset,int whence)

将流的文件位置设置为给定的偏移量。 参数offset表示从给定的whence位置搜索的字节数。

11 int fsetpos(FILE * stream,const fpos_t * pos)

将给定流的文件位置设置为给定位置。 参数pos是函数fgetpos给出的位置。

12 long int ftell(FILE * stream)

返回给定流的当前文件位置。

13 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream)

将数据从ptr指向的数组写入给定的流。

14 int remove(const char * filename)

删除给定的文件名,使其不再可访问。

15 int rename(const char * old_filename,const char * new_filename)

导致old_filename引用的文件名更改为new_filename。

16 void rewind(FILE * stream)

将文件位置设置为给定流的文件的开头。

17 void setbuf(FILE * stream,char * buffer)

定义如何缓冲流。

18 int setvbuf(FILE * stream,char * buffer,int mode,size_t size)

另一个定义流应该如何缓冲的函数。

19 FILE * tmpfile(void)

以二进制更新模式(wb +)创建临时文件。

20 char * tmpnam(char * str)

生成并返回不存在的有效临时文件名。

21 int fprintf(FILE * stream,const char * format,...)

将格式化输出发送到流。

22 int printf(const char * format,...)

将格式化输出发送到stdout。

23 int sprintf(char * str,const char * format,...)

将格式化输出发送到字符串。

24 int vfprintf(FILE * stream,const char * format,va_list arg)

使用参数列表将格式化输出发送到流。

25 int vprintf(const char * format,va_list arg)

使用参数列表将格式化输出发送到stdout。

26 int vsprintf(char * str,const char * format,va_list arg)

使用参数列表将格式化输出发送到字符串。

27 int fscanf(FILE * stream,const char * format,...)

从流中读取格式化输入。

28 int scanf(const char * format,...)

从stdin读取格式化输入。

29 int sscanf(const char * str,const char * format,...)

从字符串中读取格式化的输入。

30 int fgetc(FILE * stream)

从指定的流中获取下一个字符(无符号字符),并前进该流的位置指示符。

31 char * fgets(char * str,int n,FILE * stream)

从指定的流中读取一行并将其存储到str指向的字符串中。 当读取(n-1)个字符,读取换行符或达到文件结尾时(以先到者为准),它会停止。

32 int fputc(int char,FILE * stream)

将参数char指定的字符(无符号字符)写入指定的流,并前进该流的位置指示符。

33 int fputs(const char * str,FILE * stream)

将字符串写入指定的流,但不包括空字符。

34 int getc(FILE * stream)

从指定的流中获取下一个字符(无符号字符),并前进该流的位置指示符。

35 int getchar(void)

从stdin获取一个字符(一个unsigned char)。

36 char * gets(char * str)

从stdin读取一行并将其存储到str指向的字符串中。 当读取换行符或达到文件结尾时(以先到者为准),它会停止。

37 int putc(int char,FILE * stream)

将参数char指定的字符(无符号字符)写入指定的流,并前进该流的位置指示符。

38 int putchar(int char)

将参数char指定的字符(unsigned char)写入stdout。

39 int puts(const char * str)

将字符串写入stdout,但不包括null字符。 换行符附加到换行符。

40 int ungetc(int char,FILE * stream)

将字符char(无符号字符)推送到指定的流上,以便读取下一个字符。

41 void perror(const char * str)

向stderr打印描述性错误消息。 首先打印字符串str,然后是冒号,然后是空格。

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中定义的函数 -

Sr.No. 功能说明
1 double atof(const char * str)

通过参数str将指向的字符串转换为浮点数(类型为double)。

2 int atoi(con​​st char * str)

将参数str指向的字符串转换为整数(int类型)。

3 long int atol(const char * str)

将参数str指向的字符串转换为长整数(类型为long int)。

4 double strtod(const char * str,char ** endptr)

通过参数str将指向的字符串转换为浮点数(类型为double)。

5 long int strtol(const char * str,char ** endptr,int base)

将参数str指向的字符串转换为长整数(类型为long int)。

6 unsigned long int strtoul(const char * str,char ** endptr,int base)

将参数str指向的字符串转换为无符号长整数(unsigned long int类型)。

7 void * calloc(size_t nitems,size_t size)

分配请求的内存并返回指向它的指针。

8 void free(void * ptr

释放先前通过调用calloc, malloc,realloc分配的内存。

9 void * malloc(size_t size)

分配请求的内存并返回指向它的指针。

10 void * realloc(void * ptr,size_t size)

尝试调整先前通过调用malloccalloc分配的ptr指向的内存块的大小。

11 void abort(void)

导致程序异常终止。

12 int atexit(void(* func)(void))

导致程序正常终止时调用指定的函数func

13 void exit(int status)

导致程序正常终止。

14 char * getenv(const char * name)

搜索name指向的环境字符串,并将关联的值返回给字符串。

15 int system(const char * string)

由string指定的命令被传递到主机环境以由命令处理器执行。

16 void * bsearch(const void * key,const void * base,size_t nitems,size_t size,int(* compar)(const void *,const void *))

执行二进制搜索。

17 void qsort(void * base,size_t nitems,size_t size,int(* compar)(const void *,const void *))

对数组进行排序。

18 int abs(int x)

返回x的绝对值。

19 div_t div(int numer,int denom)

用分母(分母)除以数字(分子)。

20 long int labs(long int x)

返回x的绝对值。

21 ldiv_t ldiv(long int numer,long int denom)

用分母(分母)除以数字(分子)。

22 int rand(void)

返回0到RAND_MAX范围内的伪随机数。

23 void srand(unsigned int seed)

此函数为函数rand使用的随机数生成器播种。

24 int mblen(const char * str,size_t n)

返回参数str指向的多字节字符的长度。

25 size_t mbstowcs(schar_t * pwcs,const char * str,size_t n)

将参数str指向的多字节字符串转换为pwcs指向的数组。

26 int mbtowc(whcar_t * pwc,const char * str,size_t n)

检查参数str指向的多字节字符。

27 size_t wcstombs(char * str,const wchar_t * pwcs,size_t n)

将存储在数组pwcs的代码转换为多字节字符,并将它们存储在字符串str

28 int wctomb(char * str,wchar_t wchar)

检查与参数wchar给出的多字节字符对应的代码。

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 函数

以下是头文件中定义的函数。

Sr.No. 功能说明
1 void * memchr(const void * str,int c,size_t n)

通过参数str字符串的前n个字节中第一次出现的字符c(无符号字符)。

2 int memcmp(const void * str1,const void * str2,size_t n)

比较str1str2的前n个字节。

3 void * memcpy(void * dest,const void * src,size_t n)

将src中的n个字符复制到dest

4 void * memmove(void * dest,const void * src,size_t n)

将n个字符从str2复制到str1另一个功能。

5 void * memset(void * str,int c,size_t n)

通过参数str将字符c(unsigned char)复制到指向的字符串的前n个字符。

6 char * strcat(char * dest,const char * src)

src指向的字符串追加到dest指向的字符串的末尾。

7 char * strncat(char * dest,const char * src,size_t n)

通过src将指向的字符串追加到指向的字符串的末尾,最多为n个字符。

8 char * strchr(const char * str,int c)

通过参数str指向字符串中第一次出现的字符c(unsigned char)。

9 int strcmp(const char * str1,const char * str2)

str1的字符串与str2 str1的字符串进行比较。

10 int strncmp(const char * str1,const char * str2,size_t n)

最多比较str1str2的前n个字节。

11 int strcoll(const char * str1,const char * str2)

将字符串str1str2比较。 结果取决于位置的LC_COLLATE设置。

12 char * strcpy(char * dest,const char * src)

src指向的字符串复制到dest

13 char * strncpy(char * dest,const char * src,size_t n)

从指向的字符串复制最多n个字符,由src复制到dest

14 size_t strcspn(const char * str1,const char * str2)

计算str1的初始段的长度,该段完全由不在str2中的字符组成。

15 char * strerror(int errnum)

在内部数组中搜索错误号errnum并返回指向错误消息字符串的指针。

16 size_t strlen(const char * str)

计算字符串str的长度,但不包括终止空字符。

17 char * strpbrk(const char * str1,const char * str2)

查找字符串str1中与str2指定的任何字符匹配的第一个字符。

18 char * strrchr(const char * str,int c)

搜索参数str指向的字符串中最后一次出现的字符c(unsigned char)。

19 size_t strspn(const char * str1,const char * str2)

计算str1的初始段的长度,该段完全由str2的字符组成。

20 char * strstr(const char * haystack,const char * needle)

查找字符串haystack出现的整个字符串needle (不包括终止空字符)的第一个匹配项。

21 char * strtok(char * str,const char * delim)

将字符串str分解为由delim分隔的一系列标记。

22 size_t strxfrm(char * dest,const char * src,size_t n)

将字符串src的前n字符转换为当前语言环境,并将它们放在字符串dest

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格式。

↑回到顶部↑
WIKI教程 @2018