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
[50806] Re:char형 동적배열을 AnsiString에 저장할려 합니다.
장성호 [nasilso] 1616 읽음    2007-10-10 13:12
그냥 밑에 해미님의 답변처럼 대입하시면 됩다.

하지만 꼭  CopyMemory 나 memcpy를 쓰시고자한다면?
SetLength() 함수로 미리 AnsiString에 메모리를 확보 해놓아야 합니다.

그냥 AnsiString 선언만 해 놓은상태이면
char *는  c_str()로 접근할수 있기만 그 포인터가 가리키는 메모리가 확보되지 않는 상황이므로
기냥 memcpy하면 access voilation이 나겟죠


void __fastcall TForm1::Button3Click(TObject *Sender)
{
    AnsiString str;
    char *buf="1234567890";

    str.SetLength(strlen(buf)); // 메모리 확보             ==> 핵심

    CopyMemory(str.c_str(), buf, strlen(buf)); //   memcpy(str.c_str(), , buf, strlen(buf)); 
//  CopyMemory(&str[1], buf, strlen(buf));  //   memcpy(&str[1], buf, strlen(buf));

}
//---------------------------------------------------------------------------

그럼...


AnsiString 님이 쓰신 글 :
: CopyMemory(ansi.c_str(), szChar, nSize);
:
: 이런구분은 먹히질 않는건가요?
:
: ansi값은 계속 NULL만 뜨고..
: szChar값은 정상인데 말이죠..
:
: 반대경우만 써보다가..
:
: 저렇게 할려니 안되서..
:
: 아시는분계시면 도와주세요. ;

+ -

관련 글 리스트
50804 char형 동적배열을 AnsiString에 저장할려 합니다. AnsiString 1220 2007/10/10
50806     Re:char형 동적배열을 AnsiString에 저장할려 합니다. 장성호 1616 2007/10/10
50807         Re:Re:해미님, 성호님 모두 감사합니다. ^^ 질문자 1114 2007/10/10
50805     Re:char형 동적배열을 AnsiString에 저장할려 합니다. 정성훈.해미 1339 2007/10/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.