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
[46701] Re:바이너리 파일로 저장.읽기 하려면.도와주세요
라스코니 [chouoo] 2858 읽음    2006-09-29 21:07
일단 바이너리로 파일  I/O를 하실려면 파일에 저장되어 있는 정확한 사이즈를 알아야 합니다.  binary 는 '\n\r' 로 문자열의 끝을 알도리가 없거든요.

방법을 굳이 생각해 본다면 읽어야할 바이너리 데이터 앞에다가  읽어들여야 할 데이터의 사이즈를 기입해 놓는 것을 들 수 있겠네요.

예를 들어 Edit1에 뭔가 정해지지 않은 문자열이 들어가 있다면

int length;

length = Edit1->Text.Length();

fwrite(&length, sizeof(char), sizeof(int), fout);

한 다음에,

fwrite(Edit1->c_str(), sizeof(char), Edit1->Text.Length(), fout);

식으로 바이너리로 저장하고,

읽을 때는

int length;
char buffer[MAX_LINE];

fread(&length, sizeof(char), sizeof(int), fin);
fread(buffer, sizeof(char), length, fin);

Edit2->Text = AnsiString(buffer);

이렇게 하면 목적했던 바가 달성되지 않을까요??  아니면 이걸 적당히 응용을 하셔도 될 것 같고요.........


왕초보 님이 쓰신 글 :
: 에디트 박스를 라인단위로
: 읽고 저장하려면 어떻게 하나요?
:
: 도와주세요.

+ -

관련 글 리스트
46668 바이너리 파일로 저장.읽기 하려면.도와주세요 왕초보 1119 2006/09/28
46701     Re:바이너리 파일로 저장.읽기 하려면.도와주세요 라스코니 2858 2006/09/29
46679     Re:바이너리 파일로 저장.읽기 하려면.도와주세요 장성호 1508 2006/09/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.