ltoa(), lltoa()

Convert a long integer into a string, using a given base


#include <stdlib.h>

char* ltoa( long value,
            char* buffer,
            int radix );

char* lltoa( long long value, 
             char* buffer,
             int radix );


The value to convert into a string.
A buffer in which the function stores the string. The size of the buffer must be at least 33 bytes when converting values in base 2 (binary).
The base to use when converting the number. This value must be in the range:
2 ≤ radix ≤ 36

If the value of radix is 10, and value is negative, then a minus sign is prepended to the result.



Use the -l c option to qcc to link against this library. This library is usually included automatically.


The ltoa() and lltoa() functions convert the given long integer value into the equivalent string in base radix notation, storing the result in the character array pointed to by buffer. A NUL character is appended to the result.


A pointer to the result.


#include <stdio.h>
#include <stdlib.h>

void print_value( long value )
    int base;
    char buffer[33];

    for( base = 2; base <= 16; base = base + 2 ) {
        printf( "%2d %s\n", base,
            ltoa( value, buffer, base ) );

int main( void )
    print_value( 12765 );
    return EXIT_SUCCESS;

produces the output:

 2 11000111011101
 4 3013131
 6 135033
 8 30735
10 12765
12 7479
14 491b
16 31dd


ltoa() is QNX 4; lltoa() is Unix

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

atoi(), atol(), itoa(), sscanf(), strtol(), strtoul(), ultoa(), utoa()