Provided by: manpages-posix-dev_2013a-1_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

NAME

       strtoimax, strtoumax — convert string to integer type

SYNOPSIS

       #include <inttypes.h>

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

DESCRIPTION

       The functionality described on this reference page is aligned with the ISO C standard. Any
       conflict between the requirements described here and the ISO C standard is  unintentional.
       This volume of POSIX.1‐2008 defers to the ISO C standard.

       These  functions shall be equivalent to the strtol(), strtoll(), strtoul(), and strtoull()
       functions, except that the initial portion of the string shall be  converted  to  intmax_t
       and uintmax_t representation, respectively.

RETURN VALUE

       These functions shall return the converted value, if any.

       If  no  conversion  could  be  performed,  zero  shall be returned and errno may be set to
       [EINVAL].

       If the value of base is not supported, 0 shall be returned  and  errno  shall  be  set  to
       [EINVAL].

       If  the  correct  value  is  outside  the  range  of  representable  values, {INTMAX_MAX},
       {INTMAX_MIN}, or {UINTMAX_MAX} shall be returned (according to the return type and sign of
       the value, if any), and errno shall be set to [ERANGE].

ERRORS

       These functions shall fail if:

       EINVAL The value of base is not supported.

       ERANGE The value to be returned is not representable.

       These functions may fail if:

       EINVAL No conversion could be performed.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       Since  the  value  of  *endptr  is  unspecified  if  the  value  of base is not supported,
       applications should either ensure that base has a supported value (0 or between 2 and  36)
       before the call, or check for an [EINVAL] error before examining *endptr.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       strtol(), strtoul()

       The Base Definitions volume of POSIX.1‐2008, <inttypes.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2013 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX),  The Open Group Base Specifications Issue 7, Copyright (C) 2013 by the
       Institute of Electrical and Electronics Engineers, Inc  and  The  Open  Group.   (This  is
       POSIX.1-2008  with  the  2013  Technical  Corrigendum  1  applied.)  In  the  event of any
       discrepancy between this version and the original IEEE and The Open  Group  Standard,  the
       original  IEEE  and The Open Group Standard is the referee document. The original Standard
       can be obtained online at http://www.unix.org/online.html .

       Any typographical or formatting errors that appear in this page are most  likely  to  have
       been  introduced  during  the conversion of the source files to man page format. To report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .