阅读量:1
在C语言中,我们可以使用fseek
和ftell
函数来判断文件的大小。
首先,我们需要使用fopen
函数打开文件,并将文件指针指向文件的末尾,然后使用ftell
函数获取文件指针当前的位置(即文件大小),最后使用fclose
函数关闭文件。
以下是一个示例代码:
#include <stdio.h> int main() { FILE *file; long size; // 打开文件 file = fopen("test.txt", "rb"); if (file == NULL) { printf("无法打开文件\n"); return 1; } // 定位到文件末尾 fseek(file, 0, SEEK_END); // 获取文件大小 size = ftell(file); printf("文件大小为 %ld 字节\n", size); // 关闭文件 fclose(file); return 0; }
请注意,fseek
函数的第二个参数是偏移量,表示从当前位置移动的字节数。在此示例中,我们将偏移量设置为0,表示从当前位置不移动。第三个参数SEEK_END
表示从文件末尾开始计算偏移量。
另外,你也可以使用stat
函数来获取文件的大小。以下是一个使用stat
函数的示例代码:
#include <stdio.h> #include <sys/stat.h> int main() { struct stat st; long size; // 获取文件状态 if (stat("test.txt", &st) != 0) { printf("无法获取文件状态\n"); return 1; } // 获取文件大小 size = st.st_size; printf("文件大小为 %ld 字节\n", size); return 0; }
在此示例中,我们首先定义了一个struct stat
结构体变量st
,然后使用stat
函数获取文件状态,并将结果保存到st
中。最后,我们可以通过访问st.st_size
来获取文件的大小。请注意,此方法需要包含头文件sys/stat.h
。