|
계속 문자열에 대한 처리에 대해서 어려움을 겪고 계시는 것같아..
글을 올립니다.
C언어에선 문자열 처리하기 위한 자료형이 없고,
문자열을 처리하기 위해서 주로 사용하는 것이 poinTer입니다.
따라서 문자열 처리를 위해선 기본적인 포인터 연산을 이해하셔야 합니다.
포인터를 어느정도 이해하시지 못하면.. C/C++을 하는데 있어서..
계속 걸림돌로 작용할것입니다.
조금더 설명을 드리면...
test[100] = Edit1->Text 의 구문은..
test배열의 100번째 공간에(char형에).. Edit1->Text를 .. 그러니까 String형 Object를
대입시킨것입니다.
이 문장은 한가지 문제점이 더 있는데..
C언어는 첨자가 0부터 시작하므로..test[100]의 범위는 0-99까지입니다.
이런 문자열 복사등을 처리하기 위한 방법으로 함수들이 제공되는데..
strcpy = 복사
strcmp = 비교
등입니다.
김경완 님이 쓰신 글 :
: 안녕하세요....고수님들....
:
: 초보자 입니다..
:
: unsigned char test[100];
:
: 위의 test에 에디트박스에서 입력한 문자열을 넣으려고 합니다.
:
: test[100] = Edit1->Text;
:
: 타입 변환을 해야하는데 Edit1->Text.c_str() 이렇게 했더니..
: char * 에서 unsigned char 로 타입 변환을 할 수 없다고 에러가 납니다.
:
: 어떻게 변환을 해야하는지 가르쳐주세요..
:
: 감사합니다.
:
:
:
:
|