HP C/iX Library Reference Manual (30026-90004)

Chapter 5 355
HP C/iX Library Function Descriptions
strtol
strtol
Converts a string to a long integer value.
Syntax
#include <stdlib.h>
long strtol (const char *
str
, char **
ptr
, int
base
);
Parameters
str
A pointer to a character string to be converted. If
base
is set to zero,
leading characters in
str
define the conversion. After an optional leading
sign, a leading zero indicates octal conversion, and a leading "0x" or "0X"
indicates hexadecimal conversion. Otherwise, decimal conversion is used.
ptr
If
ptr
is not NULL, a pointer to the character terminating the scan is stored
in the object pointed to by
ptr
.
base
If
base
is between 2 and 36, 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. If
base
is set to zero, the string itself determines the
base
.
Return Values
x If successful, a long integer value.
0 Indicates failure unless the value pointed to by
str
is zero.
•If
*ptr
is set to
str
, no number can be formed.
•If
*ptr
is greater than
str
, the value pointed to by
*str
is zero.
LONG_MAX The conversion would cause an overflow; errno is set to ERANGE.
LONG_MIN The conversion would cause an underflow; errno is set to ERANGE.
Description
The strtol function returns as a long integer the value represented by the character
string pointed to by
str
. The string is scanned up to the first character inconsistent with
base
. Leading white-space characters (as defined by the isspace function) are ignored.
See Also
strtod(), strtoul(), atof(), ANSI C 4.10.1.5