c - 结果在读取文件时不打印

标签 c

在下面的程序中,如果我给出 long size=1000 结果,但如果我通过 size=ftell(fp); 获取值,则不会显示任何结果..

#include <stdio.h>

main() {

   FILE *fp;
   long size;
   char *buff;

   fp = fopen("/home/tuhin/Desktop/abc.txt", "rb");
   fseek(fp,0l,SEEK_END);
   size=ftell(fp);
  printf("%ld",size);
   buff=calloc(1,size+1);
   fread(buff,size,1,fp);
   printf("%s",buff);
   fclose(fp);
   free(buff);

}

最佳答案

如果您使用 SEEK_END 将文件定位到其末尾,并且没有其他人写入/附加到它,则 fread() 会尝试在末尾读取某些内容,并且(当然)除了结束。

关于c - 结果在读取文件时不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633574/

相关文章:

C Switch 语句 CMSIS FreeRTOS

c - 从函数返回一个字符串并在 C 中再次调用它

c - 如何实现zmsg_recv_nowait?

c - 给定中心,找到一组圆的最小半径,使它们完全覆盖另一个

C函数指针既不是函数也不是指针

c - 创建共享库时,如何告诉链接器可执行文件中存在符号?

c - GLSL统一 float 未正确传递

c - 如何在C中将ascii数字转换为uint64?

c - pgm-file I/O 给我一半的数据

c++ - C/C++ 中的头文件,标准?