The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

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

[CX] [Option Start] 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-2024 defers to the ISO C standard. [Option End]

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 [CX] [Option Start]  and errno may be set to [EINVAL]. [Option End]

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

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]
[CX] [Option Start] The value of base is not supported. [Option End]
[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

XBD <inttypes.h>

CHANGE HISTORY

First released in Issue 6. Derived from the ISO/IEC 9899:1999 standard.

Issue 7

POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0613 [453] and XSH/TC1-2008/0614 [453] are applied.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]