Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for strtoll (redhat section 3)

STRTOL(3)			    Linux Programmer's Manual				STRTOL(3)

       strtol, strtoll, strtoq - convert a string to a long integer.

       #include <stdlib.h>

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

       long long int
       strtoll(const char *nptr, char **endptr, int base);

       The  strtol()  function	converts the initial part of the string in nptr to a long integer
       value according to the given base, which must be between 2 and 36  inclusive,  or  be  the
       special value 0.

       The  string  must  begin  with  an  arbitrary amount of white space (as determined by iss-
       pace(3)) followed by a single optional `+' or `-' sign.	If base is zero or 16, the string
       may  then include a `0x' prefix, and the number will be read in base 16; otherwise, a zero
       base is taken as 10 (decimal) unless the next character is `0', in which case it is  taken
       as 8 (octal).

       The  remainder of the string is converted to a long int value in the obvious manner, stop-
       ping at the first character which is not a valid digit in the given base.  (In bases above
       10,  the letter `A' in either upper or lower case represents 10, `B' represents 11, and so
       forth, with `Z' representing 35.)

       If endptr is not NULL, strtol() stores the address  of  the  first  invalid  character  in
       *endptr.   If  there  were no digits at all, strtol() stores the original value of nptr in
       *endptr (and returns 0).  In particular, if *nptr is not `\0'  but  **endptr  is  `\0'  on
       return, the entire string is valid.

       The strtoll() function works just like the strtol() function but returns a long long inte-
       ger value.

       The strtol() function returns the result of the conversion, unless the value would  under-
       flow  or  overflow.   If  an  underflow occurs, strtol() returns LONG_MIN.  If an overflow
       occurs, strtol() returns LONG_MAX.  In both cases, errno is set to ERANGE.  Precisely  the
       same holds for strtoll() (with LLONG_MIN and LLONG_MAX instead of LONG_MIN and LONG_MAX).

       ERANGE The resulting value was out of range.

       EINVAL (not in C99) The given base contains an unsupported value.

       The  implementation  may  also set errno to EINVAL in case no conversion was performed (no
       digits seen, and 0 returned).

       In locales other than the "C" locale, also other strings may be accepted.   (For  example,
       the thousands separator of the current locale may be supported.)

       BSD also has

	   strtoq(const char *nptr, char **endptr, int base);

       with  completely analogous definition.  Depending on the wordsize of the current architec-
       ture, this may be equivalent to strtoll() or to strtol().

       strtol() conforms to SVID 3, BSD 4.3, ISO 9899 (C99) and POSIX, and strtoll() to ISO  9899
       (C99) and POSIX-2001.

       atof(3), atoi(3), atol(3), strtod(3), strtoul(3)

GNU					    2002-05-30					STRTOL(3)

All times are GMT -4. The time now is 06:51 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password