wcstol

Converts a wide-character string to a long integer.

Library:LibC
Classification:ANSI
Service:Characters and Strings

Syntax

  #include <wchar.h> 
   
  long  wcstol (
     const wchar_t   *nptr,
     wchar_t        **endptr,
     int              base);
  

Parameters

nptr

(IN) Points to the wide character string to be converted.

endptr

(OUT) Points to the first unrecognized wide character.

base

(IN) Specifies the number base to use.

Return Values

If successful, returns the converted value and does not change the value of errno. An application that needs to check for error situations must set errno to 0 before making a call to this function.

If unsuccessful, returns one of the following:

  • If the correct value would cause overflow, returns LONG_MAX or LONG_MIN according to the sign and sets errno to ERANGE.

  • If base is out of range, returns 0 and sets errno to EINVAL.

  • If the input string cannot be converted, returns 0 and sets errno to EINVAL.

Remarks

The wcstol function converts the string pointed to by nptr to an object of type long int. The function recognizes a string containing:

  • Optional whitespace characters

  • An optional plus (+) or minus (-) sign

  • A sequence of digits and letters

The conversion ends at the first unrecognized wide character. A pointer to that character is stored in the object to which endptr points if endptr is not NULL.

The base parameter must have a value between 2 and 36. The letters a through z and A through Z represent the values 10 through 35. Only those letters whose designated values are less than base are permitted. If the value of base is 16, the characters 0x or 0X can optionally precede the sequence of letters and digits.

See Also