|
리플이 있었지만.. 조금 덧붙입니다.
일단 기본 C에는 문자열을 처리하기 위한 자료형은 없습니다.
따라서 배열이나 포인터를 이용해서 처리를 하게됩니다.
이때 문자열 포인터등을 카피해주는 함수가 strcpy입니다.
따라서 자료형은 char *가 되어야 합니다.
그런데 ComboBox1->Text는 char *가 아니라... String형 객체입니다.
Combobox->Text를 char *형으로 바꾸어 주면 copy가 됩니다.
간단하게 변경하는 것으로는..
strcpy(Sarray[0].KeyName,ComboBox1->Text.c_str()
이렇게 해주면 됩니다.
리플의 내용처름 AnsiString을 쓰는것이 빌더에서는 더 편리합니다.
strcpy(Sarray[0].KeyName,ComboBox1->Text); // 에러
구름소그 산책 님이 쓰신 글 :
: 안녕하세요...
: C++Buildre가 처음이라(c가 처음) 배울려고 합니다.
: C++Builer 개념을 잡을수 있는 좋은책은 없나요..
: 오래전에 델파이는 조금 해봤는데 C언어는 처음이예요
:
: 문자열 처리가 어렵네요...
:
: struct member
: { char KeyName[8];
: char KeyNum[2];
: char SafeName[8];
: char SafeNum[2]; } ;
:
: struct member Sarray[10];
:
: strcpy(Sarray[0].KeyName,ComboBox1->Text); // 에러
: strcpy(Sarray[0].KeyName,"abc"); // 정상
:
: 뭐가 문제인지 .... 처리하는 방법 좀 알려주세요...
:
: Sarray[0].KeyName=ComboBox1.Text; 하면 안돼나요...
:
: 그리고
: Edit1->Text.LoadStr
: Edit1->Text 까지는 알겠는데 .LoadStr 은 언제 사용하는지...
:
: swich 문에서 switch(Edit1.Text) 하면 에러...
: 도무지 개념이 안잡혀서요...
:
:
: 꼭 답변 부탁드립니다.
:
:
|