1. fgets 和 fputs
标准库提供了一个输入函数 fgets :
char *fgets(char *line, int maxline, FILE *fp)
- fgets 函数从 fp 指向的文件中读取下一个输入行 (包括换行符),并将它存放在字符数组 line 中,它最多可读取 maxline-1 个字符。
- 读取的行将以 ‘\0’ 结尾保存到数组中。
- 通常情况下,fgets 返回 line ,但如果遇到了文件结尾或发生了错误,则返回 NULL。
输出函数 fputs 将一个字符串 (不需要包含换行符) 写入到一个文件中:
int fputs(char *line, FILE *fp)
如果发生错误,该函数将返回 EOF,否则返回一个非负值。
ANSI 标准规定,ferror 在发生错误时返回非 0 值,而 fputs 在发生错误时返回 EOF,其它情况返回一个非负值。
2. gets 和 puts
库函数 gets 和 puts 的功能与 fgets 和 fputs 函数类似,但它们是对 stdin 和 stdout 进行操作。注意,gets 函数在读取字符串时将删除结尾的换行符(’\n’),而 puts 函数在写入字符串时将在结尾添加一个换行符。