|
C언어에서의 기본적인 문자열 처리 부분입니다.
C에서는 aa = EditBox1->Text 같은 문자열의 직접 대입은 가능하지 않습니다.
다만, aa="홍길동"은 좀 다른 내용입니다.
aa="홍길동"은 메모리내에 어딘가에 있는 "홍길동"의 첫번째 위치를 aa 포인터가
point 하도록 만듭니다.
즉, aa Address는 "홍길동"의 address와 같게됩니다.
아래에 나오긴 했지만..
EditBox는 일단 형이 다릅니다.
String을 char 로 바꾸어 주는 것이 c_str() 입니다.
EditBox1->Text.c_str() 이렇게 사용하면 됩니다.
그러나 이렇게 해도 aa에 "홍길동"은 대입되지 않습니다.
C언어의 문자열 처리 함수등(strcpy등)을 사용해야 합니다. .
최병국 님이 쓰신 글 :
: char *aa;
: aa = "홍길동"; <---이건되는데
: aa = Trim(EditBox1->Text); <----이건 왜 않되나요?
: ------------------------------------------------------
: 에디트박스값을 변수에 넣어 char*형으로 함수에서 받아 스트링을 처리하고자 하는데
: 도주지 몇일째 될 생각을 않하는군요...ㅠㅠ
: 도움 좀 부탁드리겠습니다.
:
|