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
[67561] Re:Re:Re:파일 읽기 쓰기 질문좀요
박지훈.임프 [cbuilder] 1136 읽음    2012-06-19 10:02
역시 멤버에 문제가 있네요. 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:파일 읽기 쓰기 질문좀요 박지훈.임프 1228 2012/06/19
67558         Re:Re:파일 읽기 쓰기 질문좀요 축구 1172 2012/06/19
67561             Re:Re:Re:파일 읽기 쓰기 질문좀요 박지훈.임프 1136 2012/06/19
67563                 Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 축구 1089 2012/06/19
67567                     Re:Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 박지훈.임프 1102 2012/06/19
67570                         Re:Re:Re:Re:Re:Re:파일 읽기 쓰기 질문좀요 축구 1364 2012/06/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.