- ベストアンサー
STLでvectorのファイルへの書き出し、読み込み
- C++のSTLでvectorをファイルに書き出し、読み込む方法について
- vectorをファイルに書き出すためのコード例と書き出し時に発生するエラーメッセージについて
- vectorをファイルから読み込むための解決方法とエラーメッセージについて
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
#include <iostream> #include <fstream> #include <vector> using namespace std; int main() { vector<int> testvector; for (int i = 0 ; i < 10 ; i++) testvector.push_back( (i+1)*100 ); ofstream out("test.dat", ios::out | ios::binary); if (!out) return 1; int count = testvector.size(); out.write(reinterpret_cast<const char*>(&count), sizeof(count)); out.write(reinterpret_cast<const char*>(&testvector[0]), testvector.size() * sizeof(int)); out.close(); testvector.clear(); count = 0; ifstream in("test.dat", ios::in | ios::binary); if ( !in ) return 1; in.read(reinterpret_cast<char*>(&count), sizeof(count)); testvector.assign(count, 0); in.read(reinterpret_cast<char*>(&testvector[0]), testvector.size() * sizeof(int)); in.close(); for ( int i = 0; i < testvector.size(); ++i ) cout << testvector[i] << endl; }
お礼
ありがとうございました! vectorのsizeを書き出さないかなと思っていたのですが、readの時にassignするところなどは考えが及んでおりませんでした。ありがとうございます。 reinterpret_castについても今まで知識がなかったので、いろいろと調べてみます。