2017-11-05 7 views
0

にオブジェクトのコンテンツを作成する方法:私はオブジェクトの「コントロール」の内容を欲しい私はこの形式でコードを持っているC言語でファイル++

 srcSAXController control(input_filename.c_str()); 

     std::string output_filename = input_filename; 
     output_filename = "c-" + output_filename.erase(input_filename.rfind(XML_STR)); 

     std:: ofstream myfile(output_filename.c_str());          

     coverage_handler handler(i == MAIN_POS ? true : false, output_filename); 

     control.parse(&handler); 

     myfile.write((char *)&control, sizeof(control)); 

     myfile.close(); 

私のファイルに書き込まれます。コントロールオブジェクトの内容がファイルに書き込まれるように、上記のコードを修正する方法。

答えて

0

一般に、オブジェクトのバイトを保存してリロードできるようにするだけでなく、多くのことが必要です。

問題の名前は「serialization」であり、多くの要因によっていくつかの戦略があります。

たとえば、オブジェクトを同じシステムに保存して再ロードする必要があるかどうか、または別のシステムでオブジェクトを再ロードする必要があるかどうかを知ることが重要です。リンクグラフが単純なツリーの場合や、ループの可能性がある場合、バージョン管理などをサポートする必要がある場合など、オブジェクトに他のオブジェクトへのリンクが含まれているかどうかを知ることも基本的です。

コードが行っていることは、std::stringを含むオブジェクトと同じような単純なものであっても動作しません。

関連する問題