在C++中,可以使用fseek
函數來移動文件指針,從而實現對大文件的處理。fseek
函數的原型如下:
int fseek(FILE *stream, long int offset, int origin);
其中,stream
是指向文件的指針,offset
是偏移量,origin
是起始位置。origin
可以取以下幾種值:
SEEK_SET
:從文件開頭開始偏移SEEK_CUR
:從當前位置開始偏移SEEK_END
:從文件末尾開始偏移以下是一個示例代碼,演示如何使用fseek
函數處理大文件:
#include <iostream>
#include <cstdio>
int main() {
FILE *file = fopen("large_file.txt", "r");
if (file == NULL) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
fseek(file, 0, SEEK_END); // 移動文件指針到文件末尾
long size = ftell(file); // 獲取文件大小
std::cout << "File size: " << size << " bytes" << std::endl;
fclose(file);
return 0;
}
以上代碼首先打開一個名為large_file.txt
的文件,并將文件指針移動到文件末尾,然后通過ftell
函數獲取文件大小并輸出。這樣就可以處理大文件了。