beautypg.com

Strtol – Zilog EZ80F916 User Manual

Page 392

background image

UM014423-0607

C Standard Library

ZiLOG Developer Studio II

eZ80Acclaim!

®

User Manual

372

t = strtok(NULL,"#,"); /* t points to the token "c" */
t = strtok(NULL,"?"); /* t is a null pointer */

strtol

Converts the string pointed to by nptr to long int representation. The function recognizes
an optional leading sequence of white-space characters (as specified by the isspace func-
tion), then an optional plus or minus sign, then a sequence of digits and letters, then an
optional integer suffix.

The first inappropriate character ends the conversion. If endptr is not a null pointer, a
pointer to that character is stored in the object endptr points to; if an inappropriate charac-
ter occurs before the first digit or recognized letter, the value of nptr is stored.

If the value of base is 0, the sequence of characters from the first digit to the character
before the first inappropriate character is interpreted as an integer constant according to
the rules of this section. If a minus sign appears immediately before the first digit, the
value resulting from the conversion is negated.

If the value of base is between 2 and 36, it is used as the base for conversion. Letters from
a (or A) through z (or Z) are ascribed the values 10 to 35; a letter whose value is greater
than or equal to the value of base ends the conversion. Leading zeros after the optional
sign are ignored, and leading 0x or 0X is ignored if the value of base is 16. If a minus sign
appears immediately before the first digit or letter, the value resulting from the conversion
is negated.

Synopsis

#include
long strtol(char *nptr, char **endptr, int base);

Returns

The converted value, or zero if an inappropriate character occurs before the first digit or
recognized letter. If the correct value would cause overflow, LONG_MAX or
LONG_MIN is returned (according to the sign of the value), and the macro

errno

acquires the value ERANGE.

Example

char *ptr;
char s[]="12345";
long res;
res=strtol(s,&ptr,10);

This manual is related to the following products: