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
[59884] Re:Re:Re:Re:
아~자~~! [minonnet] 1447 읽음    2010-01-21 15:22
빠르고 친절한 답변 정말 고맙습니다.

문제는 잘 해결했습니다.

즐거운 하루 되세요...^^
아~자~~!


둘리.CSIEDA 님이 쓰신 글 :
: 1. AnsiString 은 class 입니다.
: 그러므로 AnsiString Str; 에서 Str 은 결국 AnsiString  class 의 인스턴스 (인스턴스라면 좀 어렵겠군요)
: 그냥 class 변수라고 생각하시면 됩니다.
:
: 포인터는 항상 선언에   type   *   name  ; 이런식으로 "*" 가 들어가 있죠. 특별히 define 된것 빼고는요.
:
: 2. Str.c_str() 은 Str 이 앞서 설명드렸듯이 class 객체 입니다. 이 class 안에는 결국 문자열을 보관하는 메모리가 있습니다. 이 메모리를 char * 형식 (C++ Builder 버전에 약간 차이가 있습니다, Ansi , Unicode 등) 과 같은
: 실제 주소를 반환하는 class 멤버 함수가 됩니다.
:
: 크기는 Str.Length() 로 보시거나 아니면 c표준함수인 strlen() 함수로 보실수 있습니다.
:
: size = Str.Length() 이거나
: size = strlen(str.c_str()) 이겠죠.
:
:
:
: 아~자~~! 님이 쓰신 글 :
: : 안녕하세요.. 둘리님의 답변 고맙습니다.
: :
: : 추가적인 질문이 있는데요.
: :
: : 소스는 다음과 같습니다.
: :
: : AnsiString Str;
: : BYTE buf[32];
: : 
: : Str = "123";
: : strcpy(buf, Str.c_str());
: : 

: :
: : 궁금한 점은 다음과 같습니다.
: :
: : 1. AnsiString Str;
: :     이라고 선언하면 Str은 포인터로 선언되는 되나요?
: :
: : 2. Str.c_str()는 무슨 뜻인지요?
: :     그리고 Str.c_str()의 크기는 어떻게 되나요?
: :
: :
: :
: :
: : 둘리.CSIEDA 님이 쓰신 글 :
: : : C/C++ 프로그래밍에서 pointer 를 사용하는 프로그래밍인경우 가끔 만나는 오류죠.
: : : 결론은 "딱히 잘못한것이 없는" 이 아니라 "어딘가 잘못된 부분이 있는" 입니다.
: : :
: : : Access violation 이라는 것은 특정한 메모리 주소를 access (read/write 겠죠) 하려는데 해당 주소가
: : : 가르키는 위치가 메모리를 사용하기 위하여 할당이 되어 있지 않다는 것이죠.
: : :
: : : 또한 아래의 메시지로 봐서 0000000 인것으로 봐서 전혀 메모리를 할당 내지는 연결 하지 않으시고 해당 메모리를
: : : 호출한 경우 입니다.
: : :
: : : 코드를 보지 못하는 관계로 정확하게 어느부분인지 말씀드릴수가 없군요.
: : :
: : : 소스코드를 다시한번 살펴보시거나 Debug trace 모드로 추적하셔서 찾아보세요..
: : :
: : : CodeGuard  (전 잘 쓰지 않습니다만) 그것으로 컴파일 해보시는것도 좋을듯 합니다.
: : :
: : : 잘 찾으시길 바랄께요..
: : :
: : :
: : : 아~자~~! 님이 쓰신 글 :
: : : : 코딩 중에 Run 실행히
: : : : 가끔 다음과 같은 메세지가 출력됩니다.
: : : : "Access violation at address 008CD120 in module 'vclide60.bpl'. Read of address 00000000"
: : : :
: : : : 딱히 잘 못 한 것 없는 것 같은데, 왜 이런 메시지가 뜨는지 궁금합니다.
: : : :
: : : :
: : : : 즐거운 하루 되세요...
: : : : 아~자~~!

+ -

관련 글 리스트
59874 "Access violation at address 008CD120 in module 'vclide60.bpl'. Read of address 00000000"이와 같 아~자~~! 4974 2010/01/21
59875     Re: 둘리.CSIEDA 2012 2010/01/21
59881         Re:Re: 아~자~~! 1598 2010/01/21
59882             Re:Re:Re: 둘리.CSIEDA 1477 2010/01/21
59884                 Re:Re:Re:Re: 아~자~~! 1447 2010/01/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.