seekg
是 C++ 文件流庫 <fstream>
中的一個成員函數,用于在輸入流中設置讀取位置
在 POSIX 兼容系統(如 Linux 和 macOS)中:
seekg
函數的行為與預期一致。它允許你在一個文件中設置讀取位置,以便從特定位置開始讀取數據。例如:
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (!file) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
std::string line;
std::string content;
int position = 5;
file.seekg(position, std::ios::beg); // Set the reading position to the 5th byte
while (std::getline(file, line)) {
content += line + '\n';
}
file.close();
std::cout << "Content:\n" << content << std::endl;
return 0;
}
在這個例子中,seekg
函數將文件指針設置為第 5 個字節,然后從該位置開始讀取文件的剩余部分。
在 Windows 系統中:
seekg
函數的行為在 Windows 系統上與 POSIX 兼容系統相同。它同樣允許你在一個文件中設置讀取位置,以便從特定位置開始讀取數據。例如:
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt");
if (!file) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
std::string line;
std::string content;
int position = 5;
file.seekg(position, std::ios::beg); // Set the reading position to the 5th byte
while (std::getline(file, line)) {
content += line + '\n';
}
file.close();
std::cout << "Content:\n" << content << std::endl;
return 0;
}
在這個例子中,seekg
函數將文件指針設置為第 5 個字節,然后從該位置開始讀取文件的剩余部分。
總結:seekg
函數在不同操作系統下的表現是一致的,它允許你在一個文件中設置讀取位置,以便從特定位置開始讀取數據。無論是在 POSIX 兼容系統還是 Windows 系統上,seekg
的行為都與預期一致。