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
[25622] Re:binery file 읽고/쓰고 할때는 어떻게 하죠?
라모드 [] 986 읽음    2003-05-16 14:04
라모드 님이 쓰신 글 :
:
: 일반적은로 Ascii로 구성된 file 값은 중간에 NULL(0x00) 값이 없으므로 다음과 같이 사용해도 전혀문제가 없었는데 Binery file 을 읽으니 전혀 읽히지 않던지 중간에 끊기더라구요.
: Binery 로 된 file을 읽고 쓸때는는 어떻게 해야하나요?
: 제가 하고 싶은것은 binary file 을 읽어서 화일 앞부분에 header부와 뒷부분에 Checksum값을 AnsiString 상태에서 붙이려고 합니다.
:
: 고수님들의 도움 부탁드립니다. ~^^~
:
: FILE *fr;
: char buffer[1024];
: AnsiString AnsiBuffer;
:
: if((fr = fopen(FileListBox1->FileName.c_str(),"r")) == NULL) return;
: while(!feof(fr)) {
:                  if(fgets(buffer, sizeof(buffer), fr) == NULL) break;
:                  else
:                         {
:                         AnsiBuffer+=buffer;
:                         }
:
:                  }
: fclose(fr);

다른분들에게 좀 도움이 될까해서 제가 돌려보고 된것을 올려드립니다.
밑에처럼하니까 되더라구요.. 1바이트씩만 읽는데 더 큰단위로 읽어보려고 했는데 잘 안되서 그냥
이렇게 쓰고 있습니당.. ^^;

FILE *fr;
char buffer[1];
AnsiString AnsiBuffer;
unsigned short length,LegRead,LegCount;


if((fr = fopen(FileListBox1->FileName.c_str(),"rb")) == NULL) return;

fseek(fr, 0, SEEK_END);
length = ftell(fr);
fseek(fr, 0, SEEK_SET);


do
    {
      LegRead = fread(buffer,sizeof(char),1, fr);
      AnsiBuffer+=char(buffer[0]);
      LegCount=LegCount+LegRead;

    } while (LegCount<length);

fclose(fr);

+ -

관련 글 리스트
25576 binery file 읽고/쓰고 할때는 어떻게 하죠? 라모드 687 2003/05/13
32473     Re:binery file 읽고/쓰고 할때는 어떻게 하죠? 임문환.실업자 659 2003/05/14
25622     Re:binery file 읽고/쓰고 할때는 어떻게 하죠? 라모드 986 2003/05/16
32472         Re:Re:binery file 읽고/쓰고 할때는 어떻게 하죠? utime->김성하 786 2003/05/19
32471         Re:Re:binery file 읽고/쓰고 할때는 어떻게 하죠? utime->김성하 743 2003/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.