在下面的程序中,如果我给出 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/