C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[28009] Re:[질문]TFileStream에러..
이점한 [redyouth] 1593 읽음    2003-11-28 09:59
새로 생성 하시는거라면 간단하게
TFileStream *fs = new TFileStream( Path + FileName, fmCreate );
윗 부분만 하시죠 저는 아무 이상 없이 쓰거든요. 위의 소스대로 하시면 기존에 파일이 있던 없던 새로 생성 하는 방법이고 아마 이것을 원하시는것 같고요. TFileStream에 Write를 하시게 되면 자동으로 Position 프로퍼티는 증가 합니다. 꼭 fs->Position++ 하실 필요는 없을 듯. 참고로 제일 마지막에 연속 해서 붙여 쓰실려면 아래와 같이 하시면 됩니다.
fs->Position = fs->Size;
도움 되시기를 ^^; 또 궁금하신 사항이 있으면 문의 주세요!

초보 님이 쓰신 글 :
: 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바이트씩 건너서 표현됩니다.
: 문제점 좀 알려주세여..

+ -

관련 글 리스트
28006 [질문]TFileStream에러.. 초보 1085 2003/11/27
28009     Re:[질문]TFileStream에러.. 이점한 1593 2003/11/28
34076         Re:Re:[질문]TFileStream에러.. 이점한 1042 2003/11/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.