|
땅주인님 감사합니다.
제가 C언어의 기초적인 부분을 놓쳤네요.
열공하겠습니다.
땅주인 님이 쓰신 글 :
: 괜히 봤다가 한동한 삽질했네요.
:
: arr_size = sizeof(oper)/sizeof(oper[0]);
:
: => arr_size = sizeof(&oper)/sizeof(oper[0]); 의 의미네요.
:
: 즉 oper의 size를 묻는 것은 , char pointer의 size를 묻는 거라
: string이 아무리 길어도 무조건 4가 리턴되네요.
:
: 개선한다면 ..
:
: arr_size = strlen(oper)/sizeof(oper[0]);
:
: 이렇게 하면 원하는 결과를 얻을 수는 있네요.
:
:
: 개구장이 님이 쓰신 글 :
: : TStringList의 값을 배열(int타입)에 복사가능한가요?
: :
: : 그리고 또 하나 궁금한게 있습니다.
: : AnsiString Temp2;
: : int arr_temp;
: : char* oper;
: : arr_temp = Temp2.Length();
: : oper = new char[arr_temp];
: : strcpy(oper,Temp2.c_str());
: : arr_size = sizeof(oper)/sizeof(oper[0]);
: :
: : 프로그램의 일부분이 위와 같고, arr_temp가 7이라면, arr_size는 7이 되어야
: : 하는데 4가 나옵니다.
: : arr_size = sizeof(oper)/sizeof(oper[0]);
: : 이 제일 의심스럽습니다.
: :
: : oper는 제가 EditBox에 찍어보았는데 제대로 나옵니다.
|