Caution: This version of this document is no longer maintained. For the latest documentation, see

ultoa(), ulltoa()

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


#include <stdlib.h>

char* ultoa( unsigned long int value,
             char* buffer,
             int radix );

char* ulltoa( unsigned 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



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


The ultoa() and ulltoa() functions convert the unsigned binary 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( unsigned long int value )
    int base;
    char buffer[33];

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

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

produces the output:

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


ultoa() is QNX 4; ulltoa() is Unix

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

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