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
[23671] Re:자료형인 AnsiString 형에 대해 질문 드립니다.
류현 [rauto] 1020 읽음    2003-01-15 16:21
김솔 님이 쓰신 글 :
: AnsiString 으로 선언되어 있는 변수의 값을
:
: char 형으로 캐스팅 하는 방법이 있는지요
:
: AnsiString data와 char *data2가 초기화 되어 있을경우
:
: data2 = (char *)data 이런식의 캐스팅에는 에러가 나오네요
:
: srtcpy나 memcpy를 사용하여도
:
:
: [C++ Error] access.cpp(232): E2034 Cannot convert 'AnsiString' to 'const void *'
:
:
: 이렇게 에러처리가 계속 나와 질문드리고
:
: 이 반대경우인 char형 데이터를 AnsiString형으로의 변환도 질문드립니다.
:
: 좋은 조언 부탁드립니다.
:
//----------------------------------------------------------
안녕하세요
AnsiString타입을 char* 형으로 케스팅하기 위해서는요
.c_str()을 사용하면 되고요..
글구 char* 형의 데이타를 AnsiString 타입으로 가져오기 위해서는
걍 넣어주면 됩니다.
예를 들어서
"abcde"를 char* 에 넣어주기 위해서요

   AnsiString asTemp = "abcde";
   char szTmp[10];
   memset(szTmp, 0x00, sizeof(szTmp));
   memcpy(szTmp, asTemp.c_str(), asTemp.Trim().Length());

요런식으러 넣어주면 되는데요..
memcpy에서 가끔가다가 memcpy(szTmp, asTemp.c_str(), sizeof(asTemp))..
요런식으로 실수할때가 가끔 있지요.. sizeof(AnsiString..)은 4바이트거든요 가끔가다가
습관적으로 ^^;

글구 char*의 데이타를 AnsiString에 넣기 위해서는 간단히
    AnsiString asTemp2 = szTmp; 요렇게 걍 넣으면 NULL까지 들어오지요..

간단히 두개의 사용법은
    AnsiString asTemp = "abcde";
    char* pTmp;
    pTmp = asTemp.c_str();
    ShowMessage(pTmp); <- 걍 AnsiString처럼 사용했죠??

그럼 즐거운 하루 되세요

+ -

관련 글 리스트
23669 자료형인 AnsiString 형에 대해 질문 드립니다. 김솔 688 2003/01/15
23672     Re:밑에 답변 주신 분들께 감사드립니다^^ 즐거운 하루 되시길 바랍니다. 김솔 688 2003/01/15
23671     Re:자료형인 AnsiString 형에 대해 질문 드립니다. 류현 1020 2003/01/15
23670     Re:자료형인 AnsiString 형에 대해 질문 드립니다. 조준회 721 2003/01/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.