|
답변 달아주신 아담님 감사합니다..
아무래도 아담님 말씀대로 무슨 이윤지는 모르겠지만 변수가 영향을 받나봅니다..
그런데 제가 디버깅 기술이 부족해서..
변수가 깨지는지 그런건 모르겠고..
간단하게..
int inD; 를 지우고
for (inD = 0; str[inD] != 0 ; inD++)
--> for(int inD=0; str[inD] != 0; inD++)
이렇게 바꾸니깐 돌아가는군요..
해결했다고 봐야하는건지;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
여튼 for 루프 돌리는 경우에 변수를 for문 안에서 생성하는게 바람직(?) 한거 같네요..
분명 코드 자체에 문제가 없는거 같은데..
이런 경우를 만나는 경우가 많은가요??
/--------------------------------------------------------------------------------------------------------
아담 님이 쓰신 글 :
: 테스트 해보니 잘동작 합니다.
:
: 혹시 다른데서 메모리를 잘못사용하여 inD변수가 깨지는것은 아닌지 살펴보십시요.
: 다른 부분 메모리 접근버그로 다른 변수가 영향받을 수도 있습니다.
:
: 외토리 님이 쓰신 글 :
: : //-------------------------------------------------------------------------------------------------
: : 제가 질문을 구체적으로 안적었네요..
: : str은
: : char str[128]로 선언이 되어 있습니다.
: : 그리고 memset으로 초기화를 하였구요..
: :
: : 밑에 질문을 다시 말씀드리면
: :
: : 1. sprinft() 함수만 실행되고 나면..
: : inD가
: : 1 ---> 0 으로 바뀌는 이유를 모르겠습니다..
: :
: : 2. 같은 코드가 서버에서 사용할때는 정상작동하고
: : 클라이언트에서는 비정상작동 하는 이유도 모르겠습니다..
: : //-------------------------------------------------------------------------------------------------
: :
: :
: : 아담 님이 쓰신 글 :
: : : str[inD] 에서
: : : str이 AnsiString인가요?
: : : 그렇다면 str[1]에서 부터 시작해야 합니다.
: : : str[inD] -> str[inD+1]
: : :
: : : 그리고 문자열 끝이나 중간에 NULL문자가 없으면 무한돕니다.
: : :
: : : 외토리 님이 쓰신 글 :
: : : : for (inD = 0; str[inD] != 0 ; inD++)
: : : : {
: : : : sprintf(heXa ,"%x", str[inD]);
: : : : Memo2->Text = Memo2->Text + " " + heXa;
: : : : }
: : : :
: : : : inD 변수가
: : : :
: : : : sprintf() 함수를 빠져 나올때..
: : : :
: : : : 0으로 바뀜니다..
: : : :
: : : : for 루프에서 inD++
: : : : 1로 바뀌지만..
: : : :
: : : :
: : : : sprintf() 함수를 빠져 나오면서
: : : :
: : : : 또다시
: : : :
: : : : 0으로 바뀜니다..
: : : :
: : : :
: : : :
: : : : 1 0 1 0 1 0 1 0
: : : : 즉 for루프를 빠져나오지 못하고 무한루프를 도는데요..
: : : :
: : : : 환장하겠습니다..
: : : :
: : : :
: : : : sprintf() 함수가 문제인건가여??
: : : :
: : : :
: : : : 이게 클라이언트 부분쪽 쏘스인데..
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : : 서버쪽에도
: : : :
: : : : 완전히 동일하게 털끝하나 안틀린 부분이 있는데..
: : : :
: : : : 거기서는 0 1 2 3 4 5 6
: : : :
: : : : 돌면서
: : : :
: : : : 조건이 완성되면 빠져 나오는데..
: : : :
: : : :
: : : :
: : : : 어디서는되고 어디서는 안되고;;
: : : :
: : : : 정말 이해가 안갑니다..
|