[Previous] [Contents] [Index] [Next]

Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

strtol(), strtoll()

Convert a string into a long integer


#include <stdlib.h>

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

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


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



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


The strtol() function converts the string pointed to by ptr to an object of type long int; strtoll() converts the string pointed to by ptr to an object of type long long.

These functions recognize strings that contain the following:

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


The converted value.

If the correct value causes an overflow, LONG_MAX|LONGLONG_MAX or LONG_MIN|LONGLONG_MIN is returned according to the sign, and errno is set to ERANGE. If base is out of range, zero is returned and errno is set to EDOM.


#include <stdlib.h>

int main( void )
    long int v;

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


ANSI, POSIX 1003.1

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

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

[Previous] [Contents] [Index] [Next]