说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

以二进制方式打开文件,用ftell计算文件大小,为什么有时对有时不对?

编辑:说三道四文库 发布时间:2018-04-23 10:08
HTML文档下载 WORD文档下载 PDF文档下载
if ((fp= fopen(t.txt, "rb")) == NULL)
 {
  return;
 }
fseek(fp,0,SEEK_END);
long endPos=ftell(fp);

ftell计算的是文件的字节数吗?
long endPos=fseek(fp,0,SEEK_END);
fseek returns 0 if the pointer is successfully moved and nonzero on failure.
贴主已经把问题各出答案的,ftell()返回的是文件的长度,字节为单位,16为的编译器,定义的返回值类型为long,现在32位的编译器,int 和 long 一样了,无所谓,以前用bc3.1确实需要定文件的长度为long,否则有时会溢出
up
up
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘