itoa

Fri, Apr 9, 2010

C

Convert an integer to an ASCII string

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* K&R2 60-63 */
char *itoa(int n, char s[])
{
    int c, i, j, sign;

    if((sign = n) < 0)
        n = -n;

    do {
        s[i++] = n % 10 + '0';
    } while((n /= 10) > 0);

    if(sign < 0)
        s[i++] = '-';

    s[i] = '\0';

    for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
        c = s[i];
        s[i] = s[j];
        s[j] = c;
    }

    return s;
}

No related posts.