sprintf 문에서 %가 포함된 문자 출력
글쓴이: morezerobell / 작성시간: 월, 2016/05/09 - 2:29오후
안녕하세요..
[테스트 CentOS, 이클립스]
char test[100] = {0,};
sprintf(test, "%Y-%m\n");
위와 같이 %구문을 잘못사용하고 printf문으로 찍어 보면
[%Y-Success] 라고 출력이 됩니다.
물론 %%Y-%%m 으로 하지 않아서 잘못된 출력을 하는거라고 생각했는데요..
sprintf(test, "%%Y-%%m\n"); 로 변경 후 출력해봐도
[%Y-Success] 라고 출력이 되네요..
디버깅으로 데이터를 보면 데이터는 제대로 들어가 있습니다.
배열이 커서 printf문으로 찍은다음 확인을 하면서 개발을 하고 있는데 위와 같이 출력이 되니까 제가 잘못한 부분이 있는지 한참 확인하게 되면서
시간만 잡아먹었네요..!! 원인이 뭘까요??
Forums:
매뉴얼을 보니, *printf() 포맷 지정시
매뉴얼을 보니, *printf() 포맷 지정시
glibc에서 특별히 m 이라는 모디파이어를 지원하는군요.
http://linux.die.net/man/3/sprintf
간단한 샘플을 만들어 봤습니다.
코드와 실행결과를 보시면 정리가 될 것입니다.
감사합니다.
자세히 알려주셔서 정말 감사합니다.
이해가 잘 되었습니다...^^
댓글 달기