如题,又是一个血泪教训。。。
二维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);
如题,又是一个血泪教训。。。
二维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);
本文标题:c++二维vector不能一次性读写
本文链接:https://www.haomeiwen.com/subject/fxmcfjtx.html
网友评论