1.5.单个字符读写:
使用下列函数可以一次读写一个字符
#include <stdio.h>
int fgetc(FILE *stream);
int fputc(int c, FILE *stream);
int getc(FILE *stream); è 等同于 fgetc(FILE* stream)
int putc(int c, FILE *stream); è 等同于 fputc(int c, FILE* stream)
int getchar(void); è 等同于 fgetc(stdin);
int putchar(int c); è 等同于 fputc(int c, stdout);
getchar和putchar从标准输入输出流中读写数据,其他函数从文件流stream中读写数据。
1.6.字符串读写:
char *fgets(char *s, int size, FILE *stream);
int fputs(const char *s, FILE *stream);
int puts(const char *s); è 等同于 fputs(const char *s, int size, stdout);
char *gets(char *s); è 等同于 fgets(const char *s, int size, stdin);
fgets和fputs从文件流stream中读写一行数据;
puts和gets从标准输入输出流中读写一行数据。
fgets可以指定目标缓冲区的大小,所以相对于gets安全,但是fgets调用时,如果文件中当前行的字符个数大于size,则下一次fgets调用时,将继续读取该行剩下的字符,fgets读取一行字符时,保留行尾的换行符。
fputs不会在行尾自动添加换行符,但是puts会在标准输出流中自动添加一换行符。