C库 - stdio.h

stdio.h 标头定义了三种变量类型,几种宏以及用于执行输入和输出的各种函数.

库变量

以下是标题stdio.h中定义的变量类型 :

Sr.No.变量&描述
1

size_t

这是无符号整数类型,是 sizeof 关键字的结果.

2

FILE

这是一个适合存储文件流信息的对象类型.

3

fpos_t

这是一个适合存储文件中任何位置的对象类型.

库宏

以下是标题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

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

9

TMP_MAX

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

10

stderr,stdin, stdout

这些宏指向FILE类型的指针ch对应于标准错误,标准输入和标准输出流.

库函数

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

遵循相同的函数序列以便更好地理解和使用试一试(在线编译器)选项,因为在第一个函数中创建的文件将用于后续函数.
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)

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

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

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

9FILE * freopen(const C har * 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,.. .)

从标准输入读取格式化输入.

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

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

30int fgetc(FILE * stream)

获取下一个字符(一个来自指定流的unsigned char)并提升流的位置指示符.

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)

从中获取下一个字符(unsigned char)指定流并推进流的位置指示器.

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,但最多但是不包括空字符.换行符附加换行符.

40int ungetc(int char,FILE * stream)

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

41void perror( const char * str)

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