1.函数接口:
1.fgetc
int fgetc(FILE *stream);
功能:
从流中读取下一个字符
参数:
stream:文件流指针
返回值:
成功返回读到字符的ASCII码值
失败返回EOF
读到文件末尾返回EOF
2.fgetc/fputc与getchar/putchar的区别
char ch = 0;
ch = getchar();
ch = fgetc(stdin);
char ch = 'a'
putchar(ch);
fputc(ch, stdout);
3.fputs
int fputs(const char *s, FILE *stream);
功能:
向流中写入一个字符串
参数:
s:字符串首地址
stream:文件流指针
返回值:
成功返回非负数
失败返回EOF
4.fgets
char *fgets(char *s, int size, FILE *stream);
功能:
从流中读取一个字符串
参数:
s:存放字符串空间首地址
size:最多读取字符的个数
stream:文件流指针
返回值:
成功返回存放字符串空间的首地址
失败返回NULL
读到文件末尾返回NULL
gets和fgets区别:
1.gets没有给定最多读取字符的个数,有越界风险
fgets需要给定最多读取的字符个数,没有越界风险
2.gets会去掉从终端接收的\n字符,换成\0字符
fgets会保留从终端接收的\n字符,并在其末尾加入\0
puts和fputs
1.puts会在字符串末尾多打印一个\n字符
2.fputs不会在末尾多打印\n字符