C语言中如何方便地得到文件长度?

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:03:36
例如像BASIC语言中的LOF函数那样?

xdg1981的方法对大多数文件有效
alexzhu80s的方法调用的是unix的函数,不是标准库中的。不是每种操作系统都有stat函数。

没有100%正确的方法,xdg1981的方法成功率最高。
你最好根据你所用的操作系统来调用操作系统提供的接口。例如unix的stat及windows的GetFileSize

FILE*fp;
fp=fopen("localfile","rb");// localfile文件名
fseek(fp,0,SEEK_SET);
fseek(fp,0,SEEK_END);
long longBytes=ftell(fp);// longBytes就是文件的长度

告诉你一个最方便的函数:stat,例:
struct stat fileData;
if (0 == stat("C:\log.txt", &fileData))
{
printf("file size %u.", fileData.st_size);
}