본문 바로가기

System Programmings/C

[C] itoa 함수

반응형

리눅스에 없는 itoa 함수를 정의

void my_itoa(int n, char *st)
{
	int count, i;
	count=(int)(log10(n)+1);

	for(i=count-1; i>=0; i--)
	{
		st[i]=(n%10)+'0';
		n=n/10;
	}
	st[count]='\0';
}
void strreverse(char *begin, char * end)
{
	char aux;
	while(end>begin)
	aux=*end, *end--=*begin, *begin++=aux;
}
void itoa(int value, char *str, int base)
{
	static char num[]="0123456789abcdefghijklmnopqrstuvwxyz";
	char *wstr=str;
	int sign;
	if(base<2 || base>35){
		*wstr='\0';
		return;
	}
	if((sign=value) <0)
	value=-value;
	do
	*wstr++=num[value%base];
	while(value/=base);
	if(sign<0)
	*wstr='\0';
	strreverse(str, wstr-1);
}


반응형

'System Programmings > C' 카테고리의 다른 글

[C] open()  (0) 2011.09.23
[C] Cygwin에서 ssl 사용하기  (0) 2011.03.23
[C] 난수 생성  (0) 2011.03.20
[C] getcputc.c - 파일 복사 및 문자열 복사  (0) 2011.01.30
[C] ls.c - 현재 디렉토리의 파일 및 폴더 출력  (0) 2011.01.30