在C++中,你可以使用fread
函數(shù)從文件中讀取指定字節(jié)數(shù)的數(shù)據(jù)。以下是一個(gè)簡(jiǎn)單的示例:
#include <iostream>
#include <fstream>
#include <vector>
int main() {
const char* file_name = "example.txt";
std::ifstream file(file_name, std::ios::binary | std::ios::ate);
if (!file.is_open()) {
std::cerr << "無法打開文件: " << file_name << std::endl;
return 1;
}
// 獲取文件大小
std::streamsize file_size = file.tellg();
file.seekg(0, std::ios::beg);
// 分配緩沖區(qū)并讀取指定字節(jié)數(shù)的數(shù)據(jù)
const size_t bytes_to_read = 1024;
std::vector<char> buffer(bytes_to_read);
if (file.read(buffer.data(), bytes_to_read)) {
std::cout << "成功讀取 " << bytes_to_read << " 字節(jié)" << std::endl;
std::cout << "讀取的內(nèi)容: ";
for (char c : buffer) {
std::cout << c;
}
} else {
std::cerr << "讀取文件時(shí)發(fā)生錯(cuò)誤" << std::endl;
}
file.close();
return 0;
}
在這個(gè)示例中,我們首先打開一個(gè)名為example.txt
的二進(jìn)制文件。然后,我們獲取文件的大小,并分配一個(gè)大小為1024字節(jié)的緩沖區(qū)。接下來,我們使用fread
函數(shù)從文件中讀取指定字節(jié)數(shù)的數(shù)據(jù)(在這里是1024字節(jié)),并將其存儲(chǔ)在緩沖區(qū)中。最后,我們輸出讀取到的數(shù)據(jù)。