Name
strtol, strtoll
Synopsis
Converts a string into a long (or long
long) integer value
#include <stdlib.h> longstrtol( const char * restricts, char ** restrictendptr, intbase); long longstrtoll( const char * restricts, char ** restrictendptr, intbase); (C99)
The strtol() function
attempts to interpret the string addressed by its first pointer
argument, s, as an integer numeric value,
and returns the result with the type long. strtoll() is similar, but returns long long. The character string is
interpreted as a numeral to the base specified by the third
argument, base, which must be 0 or an
integer between 2 and 36. If base is 36,
then the letters from a to
z (and likewise those from
A to Z) are used as digits with values from 10
to 35. If base is between 10 and 35, then
only those letters up to the digit value of
base minus one are permissible. In other
locales besides the default locale, C, other character sequences may also be
interpretable as numerals.
If base is zero, then the numeral
string is interpreted as octal if it begins, after an optional plus
or minus sign, with the character 0, hexadecimal if it begins with 0x or 0X, or decimal if it begins with a digit
from 1 to 9. Leading whitespace characters are
ignored, and the string converted ends with the last character than
can be interpreted as part of the numeral.
The second parameter, endptr, is a pointer to a pointer. If its argument value is not a null pointer, then the function stores a pointer to the first character ...
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