当前位置: 首页 > 文档资料 > C 标准库 中文版 >

C Library - <stdio.h>

优质
小牛编辑
130浏览
2023-12-01

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.功能说明
1int fclose(FILE * stream)

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

2void clearerr(FILE * stream)

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

3int feof(FILE * stream)

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

4int ferror(FILE * stream)

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

5int fflush(FILE *stream)

刷新流的输出缓冲区。

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

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

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

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

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

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

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

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

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

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

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

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

12long int ftell(FILE * stream)

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

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

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

14int remove(const char * filename)

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

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

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

16void rewind(FILE * stream)

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

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

定义如何缓冲流。

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

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

19FILE * tmpfile(void)

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

20char * tmpnam(char * str)

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

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

将格式化输出发送到流。

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

将格式化输出发送到stdout。

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

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

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

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

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

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

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

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

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

从流中读取格式化输入。

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

从stdin读取格式化输入。

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

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

30int fgetc(FILE * stream)

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

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

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

32int fputc(int char,FILE * stream)

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

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

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

34int getc(FILE * stream)

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

35int getchar(void)

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

36char * gets(char * str)

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

37int putc(int char,FILE * stream)

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

38int putchar(int char)

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

39int puts(const char * str)

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

40int ungetc(int char,FILE * stream)

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

41void perror(const char * str)

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