fseek可以移动FILE结构体中指向文件位置的指针指向,其第三个参数可以让我们非常灵活的将指针移动要任意自己需要的位置。而ftell则可以获取当前指针位置,返回一个long大小的数值,我们可以使用fseek将指向文件的指针移动到文件末尾,然后使用ftell取当前指针的位置,就可以得到一个文件的大小。具体实现如下:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { FILE* pFile = fopen("File.sln", "r"); if (NULL == pFile) return -1; // 移动指针到文件末尾 fseek(pFile, 0, SEEK_END); // 获取指针位置储存到size变量中 long size = ftell(pFile); printf("File.sln size is : %ld byte \n", size); fclose(pFile); system("pause"); return 0; }