在C++中,你可以使用fread
函數從文件中讀取指定字節數的數據。以下是一個簡單的示例:
#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);
// 分配緩沖區并讀取指定字節數的數據
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 << " 字節" << std::endl;
std::cout << "讀取的內容: ";
for (char c : buffer) {
std::cout << c;
}
} else {
std::cerr << "讀取文件時發生錯誤" << std::endl;
}
file.close();
return 0;
}
在這個示例中,我們首先打開一個名為example.txt
的二進制文件。然后,我們獲取文件的大小,并分配一個大小為1024字節的緩沖區。接下來,我們使用fread
函數從文件中讀取指定字節數的數據(在這里是1024字節),并將其存儲在緩沖區中。最后,我們輸出讀取到的數據。