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
[67567] Re:Re:Re:Re:Re:파일 읽기 쓰기 질문좀요
박지훈.임프 [cbuilder] 1102 읽음    2012-06-19 12:23
상식적인 문제인데요... 구조체의 크기가 가변적이라면 FileStream->Read로 한번에 읽어올 방법이 없지요. Read의 두번째 인자가 읽어올 전체 크기니까요.

구조체의 전체 크기가 가변적일 수밖에 없는 경우라면 각 멤버들을 따로따로 읽고 쓰고 해야 합니다. 그게 싫다면 sExt를 문자 배열로 만들고 크기를 충분히!크게 잡아놓는 수밖에 없습니다. 이건 기술적인 문제가 아니라 당연한 논리의 문제죠.


축구 님이 쓰신 글 :
: 흐 그렇군요 근데 배열크기가 변해서 배열을 직접적으로 써줄 수가 없는데 어떻게 해야하져?
:
: 저렇게 해놓고
: sExt = new char[크키가변하는 변수]; 이렇게 사용했는데
:
: 박지훈.임프 님이 쓰신 글 :
: : 역시 멤버에 문제가 있네요. char *sExt 이 멤버는 스트링 자체가 아니라 스트링이 있는 메모리 위치를 가리키는 그냥 포인터일 뿐이기 때문에, 이 구조체를 그대로 파일스트림에 쓰면 4바이트 주소만을 쓸 뿐이죠(물론 32비트일 경우). 이 멤버가 제대로 기록되려면 char 배열을 쓰든지, 아니면 구조체를 통째로 써넣는 대신 멤버별로 각각 써넣든지 해야 하겠지요.
: :
: :
: : 축구 님이 쓰신 글 :
: : :
: : : class t_FileInfo
: : : {
: : : 	public :
: : : 		char sExtLength;
: : : 		char *sExt;
: : : };
: : : 

: : : 이렇게 했어요
: : :
: : :
: : : 박지훈.임프 님이 쓰신 글 :
: : : : 구조체의 내용을 보여주시지요. 구조체 멤버들에 원인이 있을 수도.
: : : : 예를 들어 구조체 내에 AnsiString이나 UnicodeString이 있다든지요.
: : : : 아니면 다른 OS에서 쓴 파일을 읽어오는데 바이트 바운더리 얼라인이 다른 경우일 수도 있겠네요.
: : : :
: : : :
: : : : 축구 님이 쓰신 글 :
: : : : : FileStream으로 읽고 쓰는데요. 이건 깨져서 저장되는데 이건 정상 이잖아요.
: : : : :
: : : : : 구조체에 값을 넣고 파일로 저장을 했는데 구조체 크기만큼
: : : : :
: : : : : 근데 읽어올때 구조체 만큼 읽어오는데 왜 엉뚱한 값이 들어올까요.
: : : : :
: : : : : pLoadFileStream->Read(&tFileInfo, sizeof(t_FileInfo));

+ -

관련 글 리스트
67552 파일 읽기 쓰기 질문좀요 축구 1228 2012/06/18
67557     Re:파일 읽기 쓰기 질문좀요 박지훈.임프 1229 2012/06/19
67558         Re:Re:파일 읽기 쓰기 질문좀요 축구 1172 2012/06/19
67561             Re:Re:Re:파일 읽기 쓰기 질문좀요 박지훈.임프 1137 2012/06/19
67563                 Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 축구 1090 2012/06/19
67567                     Re:Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 박지훈.임프 1102 2012/06/19
67570                         Re:Re:Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 축구 1365 2012/06/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.