strtol(), strtoll(), strtoimax(), strtoq(), strtol_l(), strtoll_l(), strtoimax_l()

convert a string to various integal types 

Function


SYNOPSIS

#include <stdlib.h>

long strtol(const char *nptr, char **endptr, int base);

long long strtoll(const char *nptr, char **endptr, int base);

quad_t strtoq(const char *nptr, char **endptr, int base);

long strtol_l(const char *nptr, char **endptr, int base, locale_t locale);

long long strtoll_l(const char *nptr, char **endptr, int base, locale_t locale);

#include <inttypes.h>

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

intmax_t strtoimax_l(const char *nptr, char **endptr, int base, locale_t locale);


DESCRIPTION

The strtol() class of functions convert the string pointed to by nptr to a long, long long, quad_t or intmax_t value. They recognize (in order) an optional string of spaces, an optional sign, an optional base indicator (0 for octal, X or x for hexadecimal), and a string of digits. The first unrecognized character ends the string. A pointer to this unrecognized character is stored in the object addressed by endptr, if endptr is not NULL.

If base is non-zero, its value determines the set of recognized digits and overrides the optional base indicator character. If base is zero, nptr is assumed to be base 10, unless an optional base indicator character is given.


PARAMETERS

nptr 

Points to a character string for strtol() to convert.

endptr 

Is a result parameter that, if not NULL, returns a string beginning with the first character that strtol() does not attempt to convert.

base 

Is the base of the string, a value between 0 and 36.

locale 

Is a locale_t perhaps returned by newlocale() or LC_GLOBAL_LOCALE or 0 for the current thread locale set with uselocale().


RETURN VALUES

The strtol() class of functions return the converted value, if there is any. If no conversion was performed, strtol(), etc. returns a zero. If the converted value overflows, strtol() returns LONG_MAX or LONG_MIN (according to the sign of the value) (or LONGLONG_MAX/LONGLONG_MIN, or QUAD_MAX/QUAD_MIN, or INTMAX_MAX/INTMAX_MIN) and sets errno to ERANGE.

strtol_l(), strtoll_l(), qnd strtoimax_l() behave in the same way as strtol(), strtoll() and strtoimax() without the _l suffix, but use the specified locale rather than the global or per-thread locale. A locale_t is returned by newlocale().


CONFORMANCE

strtol(), strtoll() and strtoimax() conform to ANSI/ISO 9899-1990.


MULTITHREAD SAFETY LEVEL

MT-Safe.


PORTING ISSUES

None.


AVAILABILITY

PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition


SEE ALSO

Functions:
atoi(), atol(), newlocale(), setlocale(), strtod(), strtod_l(), strtof(), strtof_l(), strtold(), strtold_l(), strtoul(), strtoul_l(), strtoull(), strtoull_l(), strtoumax(), strtoumax_l(), strtouq()


PTC MKS Toolkit 10.5 Documentation Build 40.