*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> strtol (3)              
Title
Content
Arch
Section
 

STRTOL(3)

Contents


NAME    [Toc]    [Back]

     strtol, strtoll, strtoimax, strtoq - convert string value to a long, long
     long, intmax_t or quad_t integer

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

     #include <stdlib.h>
     #include <limits.h>

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

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

     #include <inttypes.h>

     intmax_t
     strtoimax(const char * restrict nptr, char ** restrict endptr, int base);

     #include <sys/types.h>
     #include <stdlib.h>
     #include <limits.h>

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

DESCRIPTION    [Toc]    [Back]

     The strtol() function converts the string in nptr to a long int value.
     The strtoll() function converts the string in nptr to a long long int
     value.  The strtoimax() function converts the string in nptr to an
     intmax_t value.  The strtoq() function converts the string in nptr to a
     quad_t value.  The conversion is done according to the given base, which
     must be between 2 and 36 inclusive, or be the special value 0.

     The string may begin with an arbitrary amount of white space (as determined
 by isspace(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 value in the obvious
     manner, stopping 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 non nil, strtol() stores the address of the first invalid
     character in *endptr.  If there were no digits at all, however, strtol()
     stores the original value of nptr in *endptr.  (Thus, if *nptr is not
     `\0' but **endptr is `\0' on return, the entire string was valid.)

RETURN VALUES    [Toc]    [Back]

     The strtol() function returns the result of the conversion, unless the
     value would underflow or overflow.  If an underflow occurs, strtol()
     returns LONG_MIN, strtoll() returns LLONG_MIN, and strtoimax() returns
     INTMAX_MIN.  If an overflow occurs, strtol() returns LONG_MAX, strtoll()
     returns LLONG_MAX, and strtoimax() returns INTMAX_MAX.  In these cases,
     errno is set to ERANGE.

ERRORS    [Toc]    [Back]

     [ERANGE]           The given string was out of range; the value converted
                        has been clamped.

SEE ALSO    [Toc]    [Back]

      
      
     atof(3), atoi(3), atol(3), atoll(3), strtod(3), strtoul(3), strtoull(3),
     strtoumax(3)

STANDARDS    [Toc]    [Back]

     The strtol() function conforms to ANSI X3.159-1989 (``ANSI C'').  The
     strtoll() and strtoimax() functions conform to .

BUGS    [Toc]    [Back]

     Ignores the current locale.

BSD                             April 26, 2001                             BSD
[ Back ]
 Similar pages
Name OS Title
strtoq FreeBSD convert a string value to a long, long long, intmax_t or quad_t integer
strtoimax FreeBSD convert a string value to a long, long long, intmax_t or quad_t integer
strtoll FreeBSD convert a string value to a long, long long, intmax_t or quad_t integer
strtol FreeBSD convert a string value to a long, long long, intmax_t or quad_t integer
wcstol IRIX convert wide character string to long integer, unsigned long integer, long long integer, unsigned long long in
wcstol FreeBSD convert a wide character string value to a long, unsigned long, long long, unsigned long long, intma...
wcstoumax FreeBSD convert a wide character string value to a long, unsigned long, long long, unsigned long long, intma...
wcstoul FreeBSD convert a wide character string value to a long, unsigned long, long long, unsigned long long, intma...
wcstoll FreeBSD convert a wide character string value to a long, unsigned long, long long, unsigned long long, intma...
wcstoimax FreeBSD convert a wide character string value to a long, unsigned long, long long, unsigned long long, intma...
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service