|
TFileStream *fs = new TFileStream(fname,fmCreate || fmOpenReadWrite);
위와 같이 쓰면 화일이 없으면 새로 만들고 만약 있으면 열어서
읽거나 쓰거나 할수 있지 않은가여?
1)fmCreate 쓰고 화일을 열면 처음에만 생성 다응 실행시는 계속 에러가 발생합니다.
2)fmOpenReadWrite는 화일이 존재하든지 아니든지 간에 에러가 발생합니다.
3)fmCreate || fmOpenReadWrite 화일이 있을때나 없을때나 에러 발생합니다.
void __fastcall TFormMMOption::BitBtnCancelClick(TObject *Sender)
{
sprintf(fname, "%s\\%s.cfg", LibraryPath, cfgname);
TFileStream *fs = new TFileStream(fname,fmCreate || fmOpenReadWrite);
for(int j=0; j<(int)poiling; j++) {
fs->Seek(j,soFromBeginning);
fs->Write(eeRomBuff + j,sizeof(char));
}
delete fs;
Close();
}
전 위의 함수에서 TFileStream을 사용하고 있습니다.
그런데, 1)2)3)과 같은 분제가 발생하나요?
그리고,eeRomBuff에 있는 내용을 1바이트씩 poiling만큼 불러와 화일에 저장하고 싶은데..
위의 fmCreate로 하면 화일은 만들어지지만 아무내용도 없습니다.
그래서 fs->Position++;를 붙히면 1바이트씩 건너서 표현됩니다.
문제점 좀 알려주세여..
|