|
안녕하세요? 개박살입니다.
C언어에서의 스트링값에 대한 개념이 문제입니다.
스트링이라함은 배열과 포인터를 빼놓을수 없는데, 이걸 설명하려면.. 흠.. (제가 시간이 ..)
일단 해결법은, char Value[100][4] 를 4 -> 5 로 바꾸세요
왜냐면 스트링은 가장마지막에 NULL이 필요하기 때문이죠
그리고나서 비교문인데 제가 이해하기론 "6222" 전부를 비교하려는 목적이시죠?
strcmp 라는 스트링 함수를 사용하세요~ (HELP참조)
흠.. 맞는지 모르겠네요 그럼 참고하세요~ (이해가 틀렸다면 죄송합니당)
시후 님이 쓰신 글 :
: char BUF[5]={""};
: char Value[100][4] ={"6222","2262","6626","6262",
: "9960","9690","9969","9096",
: "7980","9870","7787","7078",
: "1648","6418","1141","1814",
: "3086","9836","3383","3638",
: "5224","2254","5525","5452",
: "8234","2384","8838","8483",
: "5779","7759","5575","5957",
: "6725","7265","6626","6562",
: "1426","4216","1124","1612",
: "4533","5343","4434","4143",
: "1720","7210","1121","1412",
: "4271","2741","4474","4177",
: "6268","2668","6666","6466",
: "7181","1871","7787","7688",
: "5115","1155","5515","5711",
: "4276","2746","4474","4577",
: "3916","9136","3313","3411",
: "3058","8538","3353","3355",
: "3853","8533","3351","3355",
: "1824","8214","1121","1322",
: "9006","8896","9989","9188",
: "8723","7283","8828","8922",
: "7667","6677","7767","7866",
: "9173","1793","9979","9777"};
:
: 를 선언하고 텍스트파일에서 값을 읽어서 BUF에 저장했습니다.
: Value[100][4]와 BUF를 비교하려 하니 에러가 나서 BUF를
: AnsiString TEMP = BUF;로 다시 넣었습니다.
: 그 다음 for문으로 다음과 같이 돌렸습니다.
:
: for(cnt = 0 ; cnt < 100 ; cnt++)
: {
: if(TEMP == Value[cnt][4])
: {
: //값이 같으면 실행되는 부분.
: }
: }
: if(TEMP != Value[4][cnt])
: {
: //위의 값이 틀리면 실행되는 부분.
: }
:
: 분명히 step over로 체크를 하면 TEMP와 Value[cnt][4]는 정확한 값이 들어와서
: 체크를 합니다.근데 TEMP와 Value[cnt][4]의 값이 같아도 빠져나와서 값이 틀린
: 경우를 실행시키네요..뭐가 틀린거죠...좀 이해가 안되서리 이렇게 또 염치불구
: 하고 질문을 올립니다..열분 고수님들 답변 부탁드립니다....꾸벅...
|