strtoul(), strtoull()

Convert a string into an unsigned long integer

Synopsis:

#include <stdlib.h>

unsigned long int strtoul( const char * ptr,
                           char ** endptr,
                           int base );

unsigned long long strtoull( const char * ptr,
                             char ** endptr,
                             int base );

Arguments:

ptr
A pointer to the string to parse.
endptr
If this argument isn't NULL, the function stores in it a pointer to the first unrecognized character found in the string.
base
The base of the number being parsed:

Library:

libc

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

Description:

The strtoul() function converts the string pointed to by ptr to an unsigned long; strtoull() converts the string pointed to by ptr to an unsigned long long.

These functions recognize strings that contain the following:

The conversion ends at the first unrecognized character. A pointer to that character is stored in the object endptr points to, if endptr isn't NULL.

Returns:

The converted value.

If the correct value causes an overflow, the function will return ULONG_MAX||ULONGLONG_MAX and set errno to ERANGE. If base is out of range, the function returns zero and sets errno to EINVAL.

Examples:

#include <stdlib.h>

int main( void )
  {
    unsigned long int v;

    v = strtoul( "12345678", NULL, 10 );
    return EXIT_SUCCESS;
  }

Classification:

ANSI, POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

atoi(), atol(), errno, itoa(), ltoa(), sscanf(), strtol(), ultoa(), utoa()