wcstol, wcstoll
Header: <wchar.h>
Interprets an integer value in a wide string pointed to by str.
# Declarations
long wcstol( const wchar_t * str, wchar_t ** str_end, int base );
(since C95) (until C99)
long wcstol( const wchar_t * restrict str, wchar_t ** restrict str_end,
int base );
(since C99)
long long wcstoll( const wchar_t * restrict str, wchar_t ** restrict str_end,
int base );
(since C99)
# Parameters
str: pointer to the null-terminated wide string to be interpretedstr_end: pointer to a pointer to wide characterbase: base of the interpreted integer value
# Return value
Integer value corresponding to the contents of str on success. If the converted value falls out of range of corresponding return type, range error occurs and LONG_MAX, LONG_MIN, LLONG_MAX or LLONG_MIN is returned. If no conversion can be performed, 0 is returned.
# Example
#include <stdio.h>
#include <errno.h>
#include <wchar.h>
int main(void)
{
const wchar_t *p = L"10 200000000000000000000000000000 30 -40";
printf("Parsing L'%ls':\n", p);
wchar_t *end;
for (long i = wcstol(p, &end, 10);
p != end;
i = wcstol(p, &end, 10))
{
printf("'%.*ls' -> ", (int)(end-p), p);
p = end;
if (errno == ERANGE){
printf("range error, got ");
errno = 0;
}
printf("%ld\n", i);
}
}