Name
strtol function — Converts a string to a long integer
Synopsis
long int strtol(const char* str, char** end, int base)
The strtol
function
converts a character array to a long integer. The string str
is divided into three parts: optional
whitespace, the text of the integer value, and a trailing part,
which starts with the first character that cannot be part of an
integer. The first part is skipped, and the second part is converted
to a long integer. If the second part is empty, 0
is returned. If end
is not null, *end
is assigned a pointer to the start of
the third part of str
. If the
third part is empty, *end
points
to the terminating null character.
If base
is 0
, the base is determined from the prefix
of the integer text: a leading 0x
or 0X
means hexadecimal, a
leading 0
means octal, and
anything else is decimal. Otherwise, base
must be between 2 and 36, in which
the letters a
-z
(of either case) represent digits with
values of 10-35. Only letters that are appropriate for the base are
permitted, that is, the corresponding digit value must be less than
the base.
If the resulting value is too large or too small to fit in a
long
int
, the value LONG_MAX
or LONG_MIN
is returned, and errno
is set to ERANGE
.
See Also
atol function, strtod function, strtoul function, wcstol
in <cwchar>
Get C++ In a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.