[ CnUnix ] in KIDS 글 쓴 이(By): valken (:이쁜왕자:) 날 짜 (Date): 2006년 1월 31일 화요일 오후 11시 00분 59초 제 목(Title): [질문] C 에서 itoa 결론부터 말하면 itoa() 를 구현해야 합니다. 정수 값을 입력으로 주면, 요상하게 리포매팅해서, string 을 리턴해 주는 함수 itoa2() 입니다. 이 함수를 이용해서 printf("%d", n); 처럼 되어 있는 코드를 printf("%s", itoa2(n)); 으로 바꾸고 싶습니다. 처음에는 단순 무식하게 char * itoa2(int n) { static char buf[100]; sprintf(buf, "%s", n); // 실제로는 요상한 리포매팅 return buf; } 처럼 만들었는데, printf("%s %s", itoa2(1), itoa2(2)); 에서 바로 걸리는군요.. -- 그래서 char* itoa2(int n, char *buf) 로 만들긴 했는데, printf("%d %d", n1, n2); 를 위 함수를 이용해서 바꿀라면, char buf1[MAX], buf2[MAX]; printf("%s %s", itoa2(n1, buf1), itoa2(n2, buf2)); 처럼 string buffer 를 여러개 만들어 써야 하네요. 아니면, printf 를 여러 조각으로 나누던가 해야 하네요. -- itoa() 소스 코드를 보건데, 깔끔하게 만들 가능성이 별로 없어 보이긴 하네요. 혹시나 해서 함 올려 봅니다. -- C++ 이면 그냥 String class 상속 받아서 꿍짝 꿍짝 하면 될텐데 -_-! "웬 초콜릿? 제가 원했던 건 뻥튀기 쬐끔과 의류예요." "얘야, 왜 또 불평?" -> 자음 19개와 모음 21개를 모두 사용하는 pangram - 이쁜왕자 - - Valken the SEXy THief~~ ^_* - |