stdio.h
stdio.h
(英語:,标准输入/输出头文件)是C语言为输入输出提供的标准库头文件,其前身是迈克·莱斯克20世纪70年代编写的“可移植输入输出程序库”[1]。
一般 |
---|
杂项 |
C语言中的所有输入和输出都由抽象的字节流来完成,对文件的访问也通过关联的输入或输出流进行。这一模式随UNIX操作系统而普及,在现代操作系统和编程语言中仍被广泛应用。
头文件内容
类型
标识符 | 说明 |
---|---|
size_t | 用于表示大小的数据类型 |
FILE | 记录流的信息的数据结构 |
fpos_t | 用于在文件中定位的数据类型 |
宏
标识符 | 说明 |
---|---|
NULL | 空指针 |
_IOFBF | 用于控制缓冲方式的参数 |
_IOLBF | |
_IONBF | |
BUFSIZ | setbuf 函数使用的缓冲区大小 |
EOF | 文件结尾标志 |
FOPEN_MAX | 实现保证能够同时打开的文件数量 |
FILENAME_MAX | 实现保证支持的最长文件名的字符数 |
L_tmpnam | 存放tmpnam 函数生成的临时文件名的char 数组的大小 |
SEEK_CUR | 用于控制文件定位方式的参数 |
SEEK_END | |
SEEK_SET | |
TMP_MAX | 实现保证能生成的临时文件名个数 |
标准流
标识符 | 说明 |
---|---|
stderr | 标准错误流 |
stdin | 标准输入流 |
stdout | 标准输出流 |
函数
类型 | 函数原型 |
---|---|
文件操作 | int remove(const char *filename); |
int rename(const char *old, const char *new); | |
FILE *tmpfile(void); | |
char *tmpnam(char *s); | |
int fclose(FILE *stream); | |
int fflush(FILE *stream); | |
FILE *fopen(const char * restrict filename, const char * restrict mode); | |
FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream); | |
void setbuf(FILE * restrict stream, char * restrict buf); | |
int setvbuf(FILE * restrict stream, char * restrict buf, int mode, size_t size); | |
格式化输入输出 | int fprintf(FILE * restrict stream, const char * restrict format, ...); |
int fscanf(FILE * restrict stream, const char * restrict format, ...); | |
int printf(const char * restrict format, ...); | |
int scanf(const char * restrict format, ...); | |
int snprintf(char * restrict s, size_t n, const char * restrict format, ...); | |
int sprintf(char * restrict s, const char * restrict format, ...); | |
int sscanf(const char * restrict s, const char * restrict format, ...); | |
int vfprintf(FILE * restrict stream, const char * restrict format, va_list arg); | |
int vfscanf(FILE * restrict stream, const char * restrict format, va_list arg); | |
int vprintf(const char * restrict format, va_list arg); | |
int vscanf(const char * restrict format, va_list arg); | |
int vsnprintf(char * restrict s, size_t n, const char * restrict format, va_list arg); | |
int vsprintf(char * restrict s, const char * restrict format, va_list arg); | |
int vsscanf(const char * restrict s, const char * restrict format, va_list arg); | |
字符输入输出 | int fgetc(FILE *stream); |
char *fgets(char * restrict s, int n, FILE * restrict stream); | |
int fputc(int c, FILE *stream); | |
int fputs(const char * restrict s, FILE * restrict stream); | |
int getc(FILE *stream); | |
int getchar(void); | |
int putc(int c, FILE *stream); | |
int putchar(int c); | |
int puts(const char *s); | |
int ungetc(int c, FILE *stream); | |
直接输入输出 | size_t fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); |
size_t fwrite(const void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); | |
文件内定位 | int fgetpos(FILE * restrict stream, fpos_t * restrict pos); |
int fseek(FILE *stream, long int offset, int whence); | |
int fsetpos(FILE *stream, const fpos_t *pos); | |
long int ftell(FILE *stream); | |
void rewind(FILE *stream); | |
错误处理 | void clearerr(FILE *stream); |
int feof(FILE *stream); | |
int ferror(FILE *stream); | |
void perror(const char *s); |
参考文献
- Kernighan, Brian; Pike, Rob. . Englewood Cliffs: Prentice Hall. 1984: 200.
- Korn, David G.; Vo, Kiem-Phong. . Proc. Summer USENIX Conf. 1991.
- ISO/IEC JTC 1/SC 22. . [2018-08-19]. (原始内容存档于2018-08-10).
外部链接
- C语言输入/输出参考手册(页面存档备份,存于)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.