class t_FileInfo
{
public :
char cFileNameLen[2];
char *c_pFileName;
t_FileInfo()
{
memset(this, 0, sizeof(t_FileInfo));
}
};
구조체를 이렇게 잡고
int nFileLen = strlen(ExtractFileName(pLoadFileStream->FileName).c_str());
strcpy(tFileInfo.cFileNameLen, IntToStr(nFileLen).c_str());
tFileInfo.c_pFileName = new char[nFileLen];
tFileInfo.c_pFileName = strLoadFileName.c_str();
pSaveFileStream->Write(tFileInfo.cFileNameLen, 2);
pSaveFileStream->Write(tFileInfo.c_pFileName, nFileLen);
이렇게 파일에 쓰고
pLoadFileStream->Read(tFileInfo.cFileNameLen, 2);
int nTempFileLen = StrToInt(tFileInfo.cFileNameLen);
tFileInfo.c_pFileName = new char[nTempFileLen];
pLoadFileStream->Read(tFileInfo.c_pFileName, nTempFileLen);
요렇게 읽어오는데요
만약 tFileInfo.cFileNameLen이 5면 tFileInfo.c_pFileName 가 5자리만 읽어와야 하는데 7자리를 읽어오는데
이유를 도저히 모르겠어요 도움좀 주세요
|