c – 如何使用read()读取数据直到文件结尾?

c – 如何使用read()读取数据直到文件结尾?,第1张

概述我试图用read()读取C程序中的二进制数据,但EOF测试不起作用.相反,它永远运行,永远读取文件的最后一位. #include <stdio.h>#include <fcntl.h>int main() { // writing binary numbers to a file int fd = open("afile", O_WRONLY | O_CREAT, 0644); 我试图用read()读取C程序中的二进制数据,但EOF测试不起作用.相反,它永远运行,永远读取文件的最后一位.
#include <stdio.h>#include <fcntl.h>int main() {  // writing binary numbers to a file  int fd = open("afile",O_WRONLY | O_CREAT,0644);  int i;  for (i = 0; i < 10; i++) {    write(fd,&i,sizeof(int));  }  close(fd);  //trying to read them until EOF  fd = open("afile",O_RDONLY,0);  while (read(fd,sizeof(int)) != EOF) {    printf("%d",i);  }  close(fd);}
解决方法 读取返回读取的字符数.当它到达文件的末尾时,它将无法再读取(完全),它将返回0,而不是EOF. 总结

以上是内存溢出为你收集整理的c – 如何使用read()读取数据直到文件结尾?全部内容,希望文章能够帮你解决c – 如何使用read()读取数据直到文件结尾?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1248719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存