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 ...
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.