2017-11-05 24 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을 포함하는 객체처럼 단순한 것조차도 작동하지 않습니다.