c++ vector如何持久化存储
时间: 2023-09-27 21:09:14 浏览: 50
你可以使用文件流来将一个 vector 持久化存储到文件中。以下是一个示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 打开输出文件流
std::ofstream outFile("numbers.txt", std::ios::out | std::ios::binary);
if (!outFile) {
std::cerr << "无法打开文件!" << std::endl;
return 1;
}
// 写入 vector 元素数量
size_t size = numbers.size();
outFile.write(reinterpret_cast<const char*>(&size), sizeof(size));
// 写入 vector 元素
outFile.write(reinterpret_cast<const char*>(numbers.data()), size * sizeof(int));
// 关闭文件流
outFile.close();
std::cout << "Vector 已成功持久化存储到文件 numbers.txt" << std::endl;
return 0;
}
```
上述代码将一个包含整数的 vector 存储到名为 "numbers.txt" 的二进制文件中。首先,我们打开一个输出文件流,并检查是否成功打开文件。然后,我们写入 vector 的元素数量和元素数据本身。最后,我们关闭文件流并输出成功的消息。
请注意,此示例仅适用于存储基本数据类型的 vector。如果 vector 包含自定义对象,你需要实现自定义对象的序列化和反序列化逻辑。