注册 登录
编程论坛 VC++/MFC

VC++ 6.0 _eof 与文件大小问题

NB2011 发布于 2011-11-06 16:26, 741 次点击
代码:
  int rc, err_no;

  rc = _eof( handle );
  err_no = errno;
  if(rc < 0) printf("_eof(%d) = %d, errno=%d(%s)\n", handle, rc, err_no, strerror(err_no));

有一个文件,长度是: 4550312030
则_eof()出错:
_eof(3) = -1, errno=22(Invalid argument)

小于 2GB 的文件则OK。

请教是什么原因?谢谢!
2 回复
#2
红色警戒2011-11-06 16:32
大文件分段读取吧,一次读取太大你没那么多内存可分配吧。
#3
NB20112011-11-06 16:37
是分段读取。
你怎么判断是否读完?难道不用 _eof() 函数?
1