Á¤¼ö¸¦ 10 Áø¼ö¿­¿¡ º¯È¯ÇÑ´Ù


ÇÔ¼ö¸í
int2sz  Á¤¼ö¸¦ 10 Áø¼ö¿­¿¡ º¯È¯ÇÑ´Ù
Çü½Ä
void int2sz(char *str, int num);
Àμö
str  (Ãâ·Â) 10 Áø¼ö ASCIZ ij¸¯ÅÍ ¶óÀÎ
num  (ÀÔ·Â) º¯È¯ÇÏ°í ½ÍÀº Á¤¼ö
ÇÔ¼öÄ¡
¾øÀ½
ÁÖÀÇ »çÇ×

¿ë·Ê(int2sz-test.c )
char str[15];
int2sz(str, 12345)

ÇÁ·Î±×·¥(int2sz.c )
void int2sz(char *str, int num)
{
    int i;
    static void rint2sz();

    i = 0;
    if (num < 0) {
        num = -num;
        *str = '-';
        i++;
    }
    rint2sz(str, num, &i);
    *(str + i) = '\0';
}

static void rint2sz(char *str, int num, int *off)
{
    int k;

    if ((k = num / 10) ! = 0) rint2sz(str, k, off);
    *(str + *off) = num % 10 + '0';
    (*off)++;
}
¼³¸í
Àç±Í¹ýÀ» »ç¿ë. ¼±ÇàÀÇ ¼ýÀÚ¿¡ ´ëÇؼ­´Â ÀÚ±â ÀÚ½ÅÀ» ¼ÒȯÀ̶ó°í ´ëÀÀÇØ, ÃÖÁ¾ÀÚ¸®¼ö¸¸À» º¯È¯ÇØ Ã³¸®ÇÑ´Ù.

°ü·Ã ÇÔ¼ö
Á¤¼ö¸¦ 2 Áø¼ö¿­¿¡ º¯È¯ÇÏ´Â, Á¤¼ö¸¦ 16 Áø¼ö¿­¿¡ º¯È¯ÇÏ´Â, 2 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÏ´Â, 10 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÏ´Â, 16 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÑ´Ù