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