strtoll(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

strtoll(3c)

strtol(3C)               Standard C Library Functions               strtol(3C)

NAME
       strtol,  strtoll, atol, atoll, atoi, lltostr, ulltostr - string conver‐
       sion routines

SYNOPSIS
       #include <stdlib.h>

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


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


       long atol(const char *str);


       long long atoll(const char *str);


       int atoi(const char *str);


       char *lltostr(long long value, char *endptr);


       char *ulltostr(unsigned long long value, char *endptr);

DESCRIPTION
   strtol() and strtoll()
       The strtol() function  converts  the  initial  portion  of  the  string
       pointed to by str to a type long int representation.


       The  strtoll()  function  converts  the  initial  portion of the string
       pointed to by str to a type long long representation.


       Both functions first decompose the input string into  three  parts:  an
       initial,  possibly empty, sequence of white-space characters (as speci‐
       fied by isspace(3C)); a subject sequence interpreted as an integer rep‐
       resented in some radix determined by the value of  base;  and  a  final
       string  of one or more unrecognized characters, including the terminat‐
       ing null byte of the input string. They then  attempt  to  convert  the
       subject sequence to an integer and return the result.


       If the value of base is 0, the expected form of the subject sequence is
       that of a decimal constant, octal constant or hexadecimal constant, any
       of  which  may  be preceded by a + or − sign. A decimal constant begins
       with a non-zero digit, and consists of a sequence of decimal digits. An
       octal constant consists of the prefix 0 optionally followed  by  a  se‐
       quence  of  the  digits 0 to 7 only. A hexadecimal constant consists of
       the prefix 0x or 0X followed by a sequence of the  decimal  digits  and
       letters a (or A) to f (or F) with values 10 to 15 respectively.


       If the value of base is between 2 and 36, the expected form of the sub‐
       ject sequence is a sequence of letters and digits representing an inte‐
       ger  with  the radix specified by base, optionally preceded by a + or −
       sign. The letters from a (or A) to z (or Z) inclusive are ascribed  the
       values  10 to 35; only letters whose ascribed values are less than that
       of base are permitted. If the value of base is 16, the characters 0x or
       0X may optionally precede the sequence of letters and digits, following
       the sign if present.


       The subject sequence is defined as the longest initial  subsequence  of
       the  input  string,  starting with the first non-white-space character,
       that is of the expected form. The subject sequence contains no  charac‐
       ters  if  the input string is empty or consists entirely of white-space
       characters, or if the first non-white-space character is other  than  a
       sign or a permissible letter or digit.


       If  the subject sequence has the expected form and the value of base is
       0, the sequence of characters starting with the first digit  is  inter‐
       preted as an integer constant. If the subject sequence has the expected
       form  and the value of base is between 2 and 36, it is used as the base
       for conversion, ascribing to each letter its value as given  above.  If
       the subject sequence begins with a minus sign, the value resulting from
       the  conversion  is negated. A pointer to the final string is stored in
       the object pointed to by endptr, provided that endptr  is  not  a  null
       pointer.


       In  other  than  the  POSIX locale, additional implementation-dependent
       subject sequence forms may be accepted.


       If the subject sequence is empty or does not have the expected form, no
       conversion is performed; the value of  str  is  stored  in  the  object
       pointed to by endptr, provided that endptr is not a null pointer.

   atol(), atoll() and atoi()
       Except  for  behavior  on  error,  atol() is equivalent to: strtol(str,
       (char **)NULL, 10).


       Except for behavior on error, atoll() is  equivalent  to:  strtoll(str,
       (char **)NULL, 10).


       Except  for  behavior  on  error,  atoi()  is equivalent to: (int) str‐
       tol(str, (char **)NULL, 10).


       If the value cannot be represented, the behavior is undefined.

   lltostr() and ulltostr()
       The lltostr() function returns a pointer to the string  represented  by
       the  long   long  value. The endptr argument is assumed to point to the
       byte following a storage area into which the decimal representation  of
       value  is  to  be  placed  as a string. The lltostr() function converts
       value to decimal and produces the string, and returns a pointer to  the
       beginning  of  the string. No leading zeros are produced, and no termi‐
       nating null is produced. The low-order digit of the result always occu‐
       pies memory position endptr−1. The behavior of lltostr()  is  undefined
       if value is negative. A single zero digit is produced if value is 0.


       The ulltostr() function is similar to lltostr() except that value is an
       unsigned long long.

RETURN VALUES
       Upon  successful  completion, strtol(), strtoll(), atol(), atoll(), and
       atoi() return the converted value, if any. If no  conversion  could  be
       performed, strtol() and strtoll() return 0 and errno may be set to EIN‐
       VAL.


       If the correct value is outside the range of representable values, str‐
       tol()  returns  LONG_MAX or LONG_MIN and strtoll() returns LLONG_MAX or
       LLONG_MIN (according to the sign of the value), and  errno  is  set  to
       ERANGE.


       Upon  successful  completion, lltostr() and ulltostr() return a pointer
       to the converted string.

ERRORS
       The strtol() and strtoll() functions will fail if:

       ERANGE    The value to be returned is not representable.



       The strtol() and strtoll() functions may fail if:

       EINVAL    The value of base is not supported.


USAGE
       Because 0, LONG_MIN, LONG_MAX, LLONG_MIN, and LLONG_MAX are returned on
       error and are also valid returns on success, an application wishing  to
       check  for  error  situations should set errno to 0, call the function,
       then check errno and if it is non-zero, assume an error has occurred.


       The strtol() function no longer accepts values greater than LONG_MAX or
       LLONG_MAX as valid input. Use strtoul(3C) instead.


       Calls to atoi() and atol() might be faster than corresponding calls  to
       strtol(), and calls to atoll() might be faster than corresponding calls
       to  strtoll(). However, applications should not use the atoi(), atol(),
       or atoll() functions unless they know the value represented by the  ar‐
       gument will be in range for the corresponding result type.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe _  Stan‐
       dardSee below.



       For strtol(), strtoll(), atol(), atoll(), and atoi(), see standards(7).

SEE ALSO
       isalpha(3C),  isspace(3C),  scanf(3C), strtod(3C), strtoul(3C), attrib‐
       utes(7), standards(7)

Oracle Solaris 11.4               6 May 2003                        strtol(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3