16진수로 출력한 문자열을 파일에 쓰고, 다시 파일에서 읽어 원래의 문자열로 만드는데 질문드립니다.
글쓴이: dcmru / 작성시간: 화, 2006/06/13 - 9:23오전
for(i = 0; i
파일에 쓰여진 출력문의 예는 0100ABCDEF 이런식으로 출력이 되게 했습니다. 문자열의 한 문자당 16진수 두개로 매칭이 됩니다.
이것을 다시 문자열로 읽어 들여 원래의 문자열로 만들려고 하는데, 어떻게 해야할지 막혔습니다.
문자열로 읽어 들여 for문과 sscanf를 써서 문자열에서 한문자씩 %02x로 읽어 문자열에 저장을 해봤는데 널문자만 들어갑니다.
unsigned char ch;
sscanf(temp, "%02x", &ch);
이런식으로 해봤습니다. 어떤방법으로 해야 원래의 문자열로 만들 수 있을까요? 파싱 쉬울줄 알았는데, 아니네요 ㅡㅡㅋ
Forums:
scanf 의 man 페이지를
scanf 의 man 페이지를 보면
답변 감사드립니다.
어떻게 문제를 해결했네요 ^^
unsigned int 를 안쓰고, unsigned char를 써도 되더군요.
그래도 맨페이지에 나와있다니 unsigned int로 썼습니다.
그리고, 키포인트는 temp부분을 2byte 단위로 나눠서 입력해주니 되더군요.
노력만이 살길이다.
댓글 달기