int
main(void)
{
int c;
while ((c = getc(stdin)) != EOF)
if (putc(c, stdout) == EOF)
err_sys("output error");
if (ferror(stdin))
err_sys("input error");
exit(0);
}
这个例子用了getc 和 putc来完成任务。 要注意的是,
1. c是int类型的,要是用char则会产生问题
2. 判断是否出错的标志都是EOF
3. 要用ferror来判断是什么错误
4. 用feof来判断是否是文件结束
int
main(void)
{
char buf[MAXLINE];
while (fgets(buf, MAXLINE, stdin) != NULL)
if (fputs(buf, stdout) == EOF)
err_sys("output error");
if (ferror(stdin))
err_sys("input error");
exit(0);
}
1. fgets 和 fputs的错误返回不一样
本文提供了两个使用C语言实现的文件读写示例:一个利用getc和putc进行字符级别的输入输出处理;另一个通过fgets和fputs处理字符串级别的输入输出。两个示例均包含了错误处理机制,确保程序稳定运行。

906

被折叠的 条评论
为什么被折叠?



