Convert a string into an unsigned long integer
#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 );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
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.
The converted value.
If the correct value causes an overflow, the returned value is ULONG_MAX or ULLONG_MAX, depending the function, and errno is set to ERANGE. If base is out of range, or the conversion can't be made, the function returns zero and sets errno to EINVAL.
#include <stdlib.h> int main( void ) { unsigned long int v; v = strtoul( "12345678", NULL, 10 ); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |