头文件 <stdio.h>
- 打开/关闭文件
FILE *fopen(char *filename, char *mode);
如果正常打开返回FILE指针,否则返回NULL
mode常用值r w a r+ w+等
int fclose(FILE *fp);
如果关闭成功返回0,否则返回-1(EOF)
操作系统默认的三个文件指针 stdin stdout stderr
对应文件描述符为0 1 2
- 单个字符读写
int getc(FILE *fp);
获取一个字符
获取成功则返回字符,否则返回EOF
int putc(int c, FILE *fp);
把c写入到fp所指文件
若成功则返回c,否则返回EOF
- 行输入/输出
char *fgets(char *line, int maxlen, FILE *fp);
读取一行(包含换行符),maxlen为最大长度,最多可以读取maxlen-1个字符,读取的字符串将以'\0'结尾保存与line所指数组中
如果读取成功则返回line,否则返回NULL
int fputs(char *line, FILE *fp);
把line的内容写入到fp所指文件中
如果发生错误将返回EOF,否则返回一个非负值
标准库函数 gets 和 puts 与fgets、fputs类似,但它们是对stdin、stdout进行操作
并且gets在读取字符串时删掉结尾的换行符'\n',而puts在写入字符串时将在结尾加上换行符'\n'
- 格式化输入/输出
fscanf(FILE *fp, char *fmt, ...);
fprintf(FILE *fp, char *fmt, ...);
scanf(char *fmt, ...);
printf(char *fmt, ...);
scanf返回值为成功赋值的个数
printf的返回值为成功输出的字符数