c++二维vector不能一次性读写
2024-05-03 本文已影响0人
Caucher
如题,又是一个血泪教训。。。
二维vector,比如vector<vector<int>>a,如果要写入文件,或者读取,切忌不可fwrite(&a[0][0], sizeof(int), num, f).
因为二维vector存储不是连续的,直接写入会乱掉。
需要逐行写入:
for(int i = 0; i < a.size(); ++i)
fwrite(&a[i][0], sizeof(int), a[i].size(), f);