在C++中,seekg()
函數用于將文件的讀取位置移動到指定的位置。
seekg()
函數有兩個參數:
offset
:表示要移動的位置,可以是正數或負數。
origin
:表示移動的起始位置,可以是以下常量之一:
std::ios::beg
:從文件開頭開始計算偏移量。
std::ios::cur
:以當前位置為參考點計算偏移量。
std::ios::end
:以文件末尾為參考點計算偏移量。
以下是seekg()
函數的使用示例:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt");
// 移動文件讀取位置到第10個字節處
file.seekg(10, std::ios::beg);
// 讀取從第10個字節開始的內容
std::string content;
file >> content;
std::cout << content << std::endl;
file.close();
return 0;
}
在上面的示例中,首先打開了名為example.txt
的文件,并使用seekg()
函數將文件的讀取位置移動到第10個字節處。然后,使用>>
運算符讀取從第10個字節開始的內容,并將其輸出到控制臺上。最后,關閉文件。
注意:seekg()
函數適用于二進制和文本文件。對于二進制文件,seekg()
函數的參數應該是字節數,而對于文本文件,seekg()
函數的參數應該是字符數。