从二进制文件中读写动态数组可以通过以下步骤实现:
下面是一个示例代码(使用C++语言):
#include <iostream>
#include <fstream>
#include <vector>
// 从二进制文件中读取动态数组
std::vector<int> readDynamicArrayFromFile(const std::string& filename) {
std::ifstream file(filename, std::ios::binary);
if (!file) {
std::cerr << "Failed to open file: " << filename << std::endl;
return {};
}
int size;
file.read(reinterpret_cast<char*>(&size), sizeof(int)); // 读取数组长度
std::vector<int> array(size);
file.read(reinterpret_cast<char*>(array.data()), size * sizeof(int)); // 读取数组元素
file.close();
return array;
}
// 将动态数组写入二进制文件
void writeDynamicArrayToFile(const std::vector<int>& array, const std::string& filename) {
std::ofstream file(filename, std::ios::binary);
if (!file) {
std::cerr << "Failed to open file: " << filename << std::endl;
return;
}
int size = array.size();
file.write(reinterpret_cast<const char*>(&size), sizeof(int)); // 写入数组长度
file.write(reinterpret_cast<const char*>(array.data()), size * sizeof(int)); // 写入数组元素
file.close();
}
int main() {
std::vector<int> array = {1, 2, 3, 4, 5};
// 将动态数组写入二进制文件
writeDynamicArrayToFile(array, "data.bin");
// 从二进制文件中读取动态数组
std::vector<int> newArray = readDynamicArrayFromFile("data.bin");
// 输出读取的数组
for (int num : newArray) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
这段代码演示了如何从二进制文件中读取动态数组,并将动态数组写入二进制文件。在实际应用中,可以根据需要修改数据类型和文件路径。
领取专属 10元无门槛券
手把手带您无忧上云