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>
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access