C 기초 질문입니다.
글쓴이: 하하 / 작성시간: 화, 2003/09/16 - 3:36오후
기초적인 질문 입니다.
10번은 더 생각해보고 고쳐 보지만 답이 안나와
이렇게 글을 올립니다.
우선 코드를 보면
Quote:
main()
{
char *a;
int i=11;a = (char *)malloc(5);
snprintf(a, 5, "%d", i);
printf(" [%s][%x] \n", a, a);snprintf(a, 6, "%05s", a);
printf(" [%s][%x] \n", a, a);
}
제가 할려는 것은
int 형 변수명 i 그 값은 11인 것을
char * 형 그러니깐 "00011\0" 으로 만들고 싶은 것입니다.
[만들어 보기]
1. 우선 snprintf를 사용해 char *로 변환해 값 "11\0"을 a에 집어넣는다.
2. 다시 snprintf를 사용해 a의 값을 "00011\0" 형식으로 컨버전후
a에 집어넣는다.
[결과]
Linux :
[11][a의 주소]
[ ][a의 주소(위와 동일)]
Unix :
[11][20b50]
[00000][20b50]
무엇이 잘 못 된 건가요?
감사합니다.
즐거운 하루 되세요.....
Forums:
이렇게 하면 될것 같은데요...[code:1]#include &l
이렇게 하면 될것 같은데요...
Re: C 기초 질문입니다.
snprintf(a, 6, "%05s", a);
이게 아니라snprintf(a, 6, "%05d", i);
가 아닌가요?그리고 a에다가 다시 a를 출력해서는 안됩니다. char* b 같은 걸로 다시 만들어서 출력하세요.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
댓글 달기