|
테스트 해보니 잘동작 합니다.
혹시 다른데서 메모리를 잘못사용하여 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
: : :
: : : 돌면서
: : :
: : : 조건이 완성되면 빠져 나오는데..
: : :
: : :
: : :
: : : 어디서는되고 어디서는 안되고;;
: : :
: : : 정말 이해가 안갑니다..
|