직렬화에 대한 몇 가지 실험을 수행하는 동안 개체를 검색 할 때 내 개체 이름이 손실 된 것으로 나타났습니다. 무슨 일이 일어나는지 보여 주시겠습니까?개체 직렬화 중에 이름을 잃는 중
void nDB::serialize(macro* myMacro) {
ofstream ar("macro.dat", ios::binary);
ar.write((char*)myMacro,sizeof(*myMacro));
}
macro* nDB::deserialize() {
macro* tmp_macro = (macro*)safemalloc(sizeof(macro));
ifstream ar("macro.dat", ios::binary);
ar.read((char*)tmp_macro,sizeof(*tmp_macro));
printf("My macro name is %s\n",tmp_macro->get_name());
return tmp_macro;
}
그리고 이것은 내 출력
My macro name is \uffffs\uffff>
가 대단히 감사합니다 무엇이며,
개체 이름을 어떻게 저장하고 있습니까? –
안녕 데이비드, 나는 객체 이름을 char * –