在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字节),并将其存储在缓冲区中。最后,我们输出读取到的数据。