strtoumax Function

Convert a string to a greatest-width unsigned integer value.




uintmax_t strtoumax(const char * restrict nptr, char ** restrict endptr, int base);


the string to attempt to convert
pointer to the remainder of the string that was not converted
The base of the conversion

Return Value

The converted value, or 0 if the conversion could not be performed.


The strtoumax function attempts to convert the first part of the string pointed to by nptr to an uintmax_t integer value. If the value of base is unsupported, errno will be set to EINVAL.


See the notes at the beginning of this chapter or section for information on using printf() or scanf() (and other functions reading and writing the stdin or stdout streams) in the example code.

#include <inttypes.h>
#include <stdio.h>

int main(void)
  char * string = "-1234abcd";
  char * final;
  uintmax_t result;
  result = strtoumax(string, &final, 10);
  printf("The integer conversion of the string \"%s\" is %" PRIuMAX "; final string part is \"%s\"\n", string, result, final);

Example Output

The integer conversion of the string "-1234abcd" is 18446744073709550382; final string part is "abcd"