|
방법은 두가지네요.
1. 쓸때 string 자체만 써넣은후 string 끝에 0 을 쓰고요.
읽을때 byte 단위로 읽고요 , 0 만나면 해당 string 끝으로 간주하고 다음거 읽고.
2. string을 쓰기전에 해당 길이를 쓰고 뒤에 string 만 쓰고요.
읽을때 길이 값을 읽고 다음으로 해당 길이 만큼 읽어 string 에 assign 해주면 됩니다.
100 이면 길이 필드를 byte 로 써도 되지만 뒤에 1000 이 있으니까 최대 1000자가 되니 2byte 할당을 해야 할듯.
저같은 경우는 2번의 방법을 사용합니다.
수고하세요~~
이성제 님이 쓰신 글 :
: 구조체를 이용해서 저장하고 불러오고 있는데요.
:
: TFileStream *Content; // 불러왔다 치고
:
: Content->Write( Voard[i].Name, 100 );
: Content->Write( Voard[i].Contents, 1000 );
:
: 이렇게 저장을 하고 저장된 파일을 메모장에 불러오면
: 100 byte로 꽉 찬 상태가 아니었다면 공백으로 채워 들어가잖아요.
:
: 그 저장 공간이 아까워서 절약하고 싶은데
: 방법을 통 모르겠네요.
:
: 좋은 조언 부탁드립니다.
|