seekg
是 C++ 文件流庫 <fstream>
中的一個成員函數,用于在輸入文件(如 ifstream
)中設置讀取位置
seekg
函數的基本語法如下:
std::istream& seekg (std::streampos pos, std::ios_base::openmode which = std::ios_base::beg);
參數說明:
pos
:要設置的新位置,可以是文件中的任何位置。which
:指定移動方式,可以是以下值之一:
std::ios_base::beg
:從文件開頭開始計算位置。std::ios_base::cur
:從當前位置開始計算位置。std::ios_base::end
:從文件末尾開始計算位置。示例:
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (!file) {
std::cerr << "Error opening file!" << std::endl;
return 1;
}
// 將讀取位置移動到文件開頭
file.seekg(0, std::ios_base::beg);
std::string line;
// 從當前位置開始讀取文件內容
while (std::getline(file, line)) {
std::cout << line << std::endl;
}
// 將讀取位置移動到文件末尾
file.seekg(0, std::ios_base::end);
// 將讀取位置移回文件開頭
file.seekg(0, std::ios_base::beg);
return 0;
}
在這個示例中,我們首先打開一個名為 “example.txt” 的文件,然后使用 seekg
函數將讀取位置移動到文件開頭、當前位置和文件末尾。最后,我們逐行讀取文件內容并輸出到控制臺。