fwrite 写入 std::vector<int>
时间: 2023-08-06 10:08:36 浏览: 263
可以使用 fwrite() 函数将 std::vector<int> 中的数据写入文件。假设需要将 vector 写入的文件名为 data.bin,代码如下:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> data = {1, 2, 3, 4, 5};
FILE *fp = fopen("data.bin", "wb");
if (fp != NULL) {
fwrite(&data[0], sizeof(int), data.size(), fp);
fclose(fp);
}
return 0;
}
```
在上面的代码中,先创建一个 std::vector<int>,然后以二进制写方式("wb")打开一个名为 data.bin 的文件,接着使用 fwrite() 函数将 vector 中的数据写入文件。注意,需要将 vector 的数据首地址传递给 fwrite() 函数,即 &data[0]。
需要注意的是,由于 fwrite() 函数是将连续的内存块写入文件,因此在写入 vector 时,需要保证 vector 中的数据是连续的。如果 vector 中的数据不是连续的,可以使用 std::array<int, N> 等连续的容器来代替 vector。
阅读全文