這個問題的一個載體,對如何在std::vector
寫入文件很好的答案:Reading and writing a std::vector into a file correctly文件的I/O陣列
在我的情況,我有陣列的載體:
vector<array<double, 3> > vec;
我想寫入,以便一個文件,以獲得具有以下格式,其中的值是加倍並且第一個數字是在載體中的位置,第二個是在陣列中的位置的文件:
vec0_0 vec0_1 vec0_2 vec1_0 vec1_1 vec1_2 vec2_0 ...
我可以只使用...
std::copy(vec.begin(), vec.end(), std::ostreambuf_iterator<char>(FILE));
......或者......
size_t sz = vec.size();
FILE.write(reinterpret_cast<const char*>(&vec[0]), sz * sizeof(vec[0]));
...如提到的問題,提出了一個標量類型,或做我需要做的它有所不同,因爲vector
中的類型是array
?
你是什麼意思_safe_? – user0042
@ user0042:現在快樂嗎? ;-) – Michael
你爲什麼不簡單地嘗試?應該工作... – user0042