在C++中,可以使用ifstream
類來讀取文件數據。要讀取位于不同位置的文件數據,可以使用seekg
函數來設置文件指針的位置,然后再使用read
函數來讀取數據。
以下是一個示例代碼,演示了如何讀取位于不同位置的文件數據:
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("data.txt", std::ios::binary); // 打開文件data.txt,并以二進制模式讀取
if(!file.is_open()) {
std::cout << "Failed to open file." << std::endl;
return 1;
}
// 將文件指針設置到第10個字節的位置
file.seekg(10);
char data[100];
file.read(data, 100); // 從當前位置讀取100個字節的數據
// 輸出讀取到的數據
for(int i = 0; i < file.gcount(); i++) {
std::cout << data[i];
}
// 將文件指針設置到第50個字節的位置
file.seekg(50);
file.read(data, 100); // 從當前位置讀取100個字節的數據
// 輸出讀取到的數據
for(int i = 0; i < file.gcount(); i++) {
std::cout << data[i];
}
file.close(); // 關閉文件
return 0;
}
在上面的示例代碼中,首先打開文件data.txt
,然后使用seekg
函數將文件指針分別設置到第10個字節和第50個字節的位置,最后使用read
函數分別讀取100個字節的數據,并將數據輸出到控制臺。