在C++中,可以使用seekg
函數來重新定位輸入流的位置。seekg
函數有兩個參數,第一個參數是要定位的位置,第二個參數是相對于哪個位置進行定位。
下面是一個示例代碼,演示如何使用seekg
函數來尋找文件位置:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("example.txt");
// 獲取當前文件位置
std::streampos currentPosition = file.tellg();
std::cout << "Current position: " << currentPosition << std::endl;
// 移動文件指針到文件末尾
file.seekg(0, std::ios::end);
std::streampos endPosition = file.tellg();
std::cout << "End position: " << endPosition << std::endl;
// 移動文件指針到文件開頭
file.seekg(0, std::ios::beg);
std::streampos beginPosition = file.tellg();
std::cout << "Begin position: " << beginPosition << std::endl;
file.close();
return 0;
}
在這個示例中,我們首先打開一個名為example.txt
的文件,并獲取當前文件位置。然后使用seekg
函數將文件指針移動到文件末尾和文件開頭,并獲取相應的位置。最后關閉文件流。