#include <stdlib.h>long strtol (const char
str, char
ptr, int base);
long long strtoll (const char
str, char
ptr, int base);
unsigned long strtoul (const char
str, char
ptr, int base);
unsigned long long strtoull (const char
str, char
ptr, int base);
int atoi (const char
str);
long atol (const char
str);
long long atoll (const char
str);
If the value of
ptr
is not (char )NULL, a pointer to the character terminating the
scan is returned in the location pointed to by
ptr.
If no integer can be formed, that location is set to str,
and zero is returned.
If base is between 2 and 36, inclusive, it is used as the base for conversion. After an optional leading sign, leading zeros are ignored, and ``0x'' or ``0X'' is ignored if base is 16. A leading 0b or 0B is ignored if base is 2.
If base is zero, the string itself determines the base as follows: After an optional leading sign a leading zero indicates octal conversion, and a leading ``0x'' or ``0X'' hexadecimal conversion. Otherwise, decimal conversion is used.
Truncation from long to int can, of course, take place upon assignment or by an explicit cast.
If the value represented by str would cause overflow, LONG_MAX or LONG_MIN is returned (according to the sign of the value), and errno is set to the value, ERANGE.
strtoul is similar to strtol except that strtoul returns as an unsigned long integer the value represented by str. If the value represented by str would cause overflow, ULONG_MAX is returned, and errno is set to the value, ERANGE.
The strtoll and strtoull routines are similar, except that the return value is long long or unsigned long long, respectively.
Except for behavior on error, atol(str) is equivalent to:
strtol(str, (char)NULL, 10)
Except for behavior on error, atoll(str) is equivalent to:
strtoll(str, (char)NULL, 10)
Except for behavior on error, atoi(str) is equivalent to:
(int) strtol(str, (char)NULL, 10)