C에서 숫자를 스트링으로 변환하는 함수는?

ccdd33의 이미지

안녕하세요
질문입니다.

숫자 예를 들어 숫자 211을
스트링 "211"로 바꾸어 주는 함수가 있나요?

char * toto;
int soso;

toto = 함수(soso);

이런 함수 아시는 분은 좀 알려주세요.. 못찾겠네요..

스트링을 숫자로 바꾸는건 atoi로 되는데 반대로 하는것을 못찾겠습니다.
도와주세요..

nthroot의 이미지

sprintf(buf, "%d", num) 사용하시면 됩니다.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

k2hyun의 이미지

char toto[16];
int soso;

sprintf(toto, "%d", soso);

한참동안 php 로 작업하고 C로 돌아오면 질문과 같은 딜레마에 빠져버리더군요. :)

더 이상 없다.

익명 사용자의 이미지

char *_itoa( int value, char *string, int radix );

int    iv = 10;
char buff[10];

_itoa( iv, buff, 10);

VC의 함수를 적었습니다. 리눅스에는 itoa()가 있을 것 같네요.

익명 사용자의 이미지


 int a = 213; // input
 char b[10]; // output
 int ib = 0 ;

 b[ib] = '\0';
 
 do
	b[++ib] = "0123456789abcdef"[a%10];
while( a );

int ic = 0;
int temp;

 for( ;ib > ic  ;  )
{
   temp = b[ib];
   b[ib--] = b[ic];
   b[ic++] = temp;  
}

mooore의 이미지

nthroot wrote:
sprintf(buf, "%d", num) 사용하시면 됩니다.

sprintf보단 snprintf를 사용하는 것이 좋다고 맨 페이지에 나와 있습니다.

아마도 버퍼 오버플로우때문인 것 같습니다.

별은 바라보는 자에게 빛을 준다.

pynoos의 이미지

Anonymous wrote:
char *_itoa( int value, char *string, int radix );

int    iv = 10;
char buff[10];

_itoa( iv, buff, 10);

VC의 함수를 적었습니다. 리눅스에는 itoa()가 있을 것 같네요.

없습니다. 또한 atoi와 달리 itoa 는 표준이 아닙니다. :)