c语言获取文件大小的示例
1.fseek
函数原型:
int fseek ( FILE * stream, long int offset, int origin );
参数说明:stream,文件流指针;offest,偏移量;orgin,原(始位置。其中orgin的可选值有SEEK_SET(文件开始)、SEEK_CUR(文件指针当前位置)、SEEK_END(文件结尾)。
函数说明:对于二进制模式打开的流,新的流位置是origin + offset。
2.ftell
函数原型:long int ftell ( FILE * stream );
函数说明:返回流的位置。对于二进制流返回值为距离文件开始位置的字节数。
获取文件大小C程序(file.cpp):
#include <stdio.h>
int main ()
{
FILE * pFile;
long size;
pFile = fopen ("file.cpp","rb");
if (pFile==NULL)
perror ("Error opening file");
else
{
fseek (pFile, 0, SEEK_END); ///将文件指针移动文件结尾
size=ftell (pFile); ///求出当前文件指针距离文件开始的字节数
fclose (pFile);
printf ("Size of file.cpp: %ld bytes.\n",size);
}
return 0;
}