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