gpt4 book ai didi

c - 使用 getc 从文件读取并使用 putc 打印

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:00 26 4
gpt4 key购买 nike

我试图从文件中读取每个字符,并单独使用 getc 和 putc 将其打印到屏幕上。这是我的代码,

FILE *fp = fopen("new.txt","r+");
rewind(fp);
while( feof(fp) == 0 )
{
putc( getc(fp) , stdout);
}

每当我执行它时,它都会进入无限循环。当文件只有几行时,我不明白这是怎么发生的。

新手。

最佳答案

feof 返回零时循环几乎永远是正确的。

相反,您可能希望从输入中读取检查输入函数是否在一个表达式中失败:

int ch;
while ((ch = getc(fp)) != EOF)
putc(ch, stdout);

使用 getc 读取一个字符,通过比较字符与 EOF 来检查读取是否成功,如果不是 EOF 则继续循环。

此外,打开文件后立即调用rewind 是没有用的,文件已经“rewound”了。

关于c - 使用 getc 从文件读取并使用 putc 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22335261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com