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
[12032] Re:[질문] char* buf 와 size를 넘겨받아서........ 주소값을 넣는 방법을 가르쳐주세요 제발
새더~ [mmouse] 901 읽음    2001-10-24 01:30
안녕하세용 ^^;.
질문을 정학히 이해하지 못하고 답변드립니다. (질문이 쪼금 애매해서 ㅠ.ㅜ)

박용우님이 하시고자 하시는게...

char buffer[4096+1];
char *pbuffer = buffer;

이와 유사한.. 그러니까, pbuffer 에 buffer 의 주소값을 담아 놓듯이...
char형 포인터를 AnsiString 에 대입시키고 싶으신거죠?

일단 모든 변수나 함수는 메모리상에 번지수를 가지고 있어.. 어떤 넘이든 서로
번지수를 맞바꾸거나 할수 있죠.. 하지만 -_-;.. 서로 다른 데이터의 주소를 서로
맞바꾸려면 그에 따른 작업이 필요하게 됩니다.

일단 용우님이 적어주신 코드에서는 AnsiString 의 오퍼레이터인 operator = (const char *) 가 호출
된거네요.. ^^;..
즉 AnsiString 에서 뒤에 넘에 대해 어떻게 처리할지 아는 놈이라는 것이죠... 그래서 자기 메모리 공간에
할당해서 = 연산자 뒤에 있는 캐릭터 포인터의 값을 읽어 드려 자신이 관리하고 있는 메모리 영역으로
복사가 일어나게 되는 것이죠...

굳이 AnsiString 에 buf 의 주소를 넣고 싶으시다면 ㅡ.ㅡ;..
&tmp = (AnsiString *)buf;
이와 같이 써주시면 됩니다.

도움이 되셨나요?



: char* buf 와  size를 넘겨받아서...
: buf 에  buf 시작주소를  넣었어요
:
: 그리고 temp에 buf 주소값을 넣고 싶은데요...
: 어떻게 해야 하는지 잘 이해가 안가서요...
:
: 아래에 있는 다음문장이 temp 에 buf 주소값을 넣고 싶은 자리인데...
:
: temp = buf
:
: 지금은 잘몰라서 일단 주소를 넣었습니다.. 어떻게 고쳐야 될까요...?
:
: ================================================================
:
:
: AnsiString _fastcall TForm1::dump(char* buf, int size)
: {
:         AnsiString temp, result;
:         for(int i=0; i<size; i++)
:         {
:               sprintf(buf, "%d", &buf-i);
:               temp = buf;
:               result += "["+temp+"]";
:         }
:         return result;
:
: }
: =================================================================

+ -

관련 글 리스트
12027 [질문] char* buf 와 size를 넘겨받아서........ 주소값을 넣는 방법을 가르쳐주세요 제발!~ 박용우 1023 2001/10/23
12032     Re:[질문] char* buf 와 size를 넘겨받아서........ 주소값을 넣는 방법을 가르쳐주세요 제발 새더~ 901 2001/10/24
12033         Re:Re:[질문] char* buf 와 size를 넘겨받아서........ 주소값을 넣는 방법을 가르쳐주세요 새더~ 864 2001/10/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.