|
일단 바이너리로 파일 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);
이렇게 하면 목적했던 바가 달성되지 않을까요?? 아니면 이걸 적당히 응용을 하셔도 될 것 같고요.........
왕초보 님이 쓰신 글 :
: 에디트 박스를 라인단위로
: 읽고 저장하려면 어떻게 하나요?
:
: 도와주세요.
|