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
[70304] Re:TStream 클레스에대해 알아보고싶은데요.!
junesaku [] 3866 읽음    2013-11-06 16:36
?만 써지는 이유는 Write(&b, sizeof(b)); 에서
b는 char형 포인터변수고 "ABCC"라는 문자열의 시작 포인터가 저장되어 있는 데이터인데
저장은 b라는 포인터 변수의 값이 아닌 주소를 4바이트 만큼 저장하기 때문이죠
(포인터 변수가 4바이트의 크기임으로... 32비트 프로그램에서 4바이트가 맞을 거에요...)

목표하시는 결과는 Write(b, strlen(b) * sizeof(char)); 라고 하셔야 합니다.

붕붕이 님이 쓰신 글 :
:  String str="";
:     str="ABCC";
:     char *b;
:     b=str.c_str();
:
:     TFileStream *a= new TFileStream("파일경로 명",fmOpenWrite);
:     a->Write(&b,sizeof(b));
:     delete a;
:
: 이렇게 해서 한번 연습장에 ABCC가 써지나 봤는데 연습장엔 항상 ? <<이렇게 써져있더라구요
: 왜그런지 이유와 TStream클레스에 대해 간략한 정의좀 부탁드립니다 ㅠ 참고 서적도 알려주시면 감사합니다.!

+ -

관련 글 리스트
70302 TStream 클레스에대해 알아보고싶은데요.! 붕붕이 3402 2013/11/06
70316     감사합니다~! 붕붕이 4403 2013/11/07
70305     Re:TStream 클레스에대해 알아보고싶은데요.! gomsun2 7739 2013/11/06
70304     Re:TStream 클레스에대해 알아보고싶은데요.! junesaku 3866 2013/11/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.