Convert a string into an integer
#include <inttypes.h>
intmax_t strtoimax ( const char * nptr,
char ** endptr,
int base );
uintmax_t strtoumax ( const char * nptr,
char ** endptr,
int base );
- nptr
- 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:
- If base is zero, the first characters after the optional sign
determine the base used for the conversion.
If the first characters are 0x or 0X the digits
are treated as hexadecimal.
If the first character is 0, the digits are treated as octal.
Otherwise, the digits are treated as decimal.
- If base isn't zero, it must have a value between 2 and 36.
The letters a-z and A-Z represent the values 10 through 35.
Only those letters whose designated values are less than base
are permitted.
If the value of base is 16, the characters
0x or 0X may optionally precede the sequence
of letters and digits.
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
The strtoimax() and strtoumax() functions are the same as the
strtol(), strtoll(),
strtoul(), and strtoull()
functions except that they return objects of type intmax_t and uintmax_t.
The converted value.
If the correct value causes an overflow,
INTMAX_MAX|UINTMAX_MAX or
INTMAX_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
EINVAL.
ANSI,
POSIX 1003.1
Safety: | |
Cancellation point |
No |
Interrupt handler |
Yes |
Signal handler |
Yes |
Thread |
Yes |
strtol(),
strtoul()