在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
。