Previous Page
Next Page

wcstol, wcstoll

Converts a wide string into a long (or long long) integer value

#include <wchar.h>
long int wcstol ( const wchar_t * restrict wcs , wchar_t ** restrict endptr ,
                 int base  );
long long int wcstoll ( const wchar_t * restrict wcs ,
                       wchar_t ** restrict endptr , int base  );         (C99)

The wcstol( ) function attempts to interpret the wide string addressed by its first pointer argument, wcs, as an integer numeric value, and returns the result with the type long. wcstoll( ) is similar, but returns long long. These functions are the wide-string equivalents of strtol( ) and strtoll( ), and they work in the same way, except that they operate on strings of wchar_t rather than char. See the description under strtol( ) in this chapter.

Example

wchar_t date[ ] = L"10/3/2005, 13:44:18 +0100", *more = date;
long day, mo, yr, hr, min, sec, tzone;
day = wcstol( more, &more, 10 );        // &more is the address of a pointer
mo  = wcstol( more+1, &more, 10 );
yr  = wcstol( more+1, &more, 10 );
hr  = wcstol( more+1, &more, 10 );
min = wcstol( more+1, &more, 10 );
sec = wcstol( more+1, &more, 10 );
tzone = wcstol( more+1, &more, 10 );

 wprintf( L"It's now %02ld:%02ld o'clock on %02ld-%02ld-%02ld.\n",
          hr, min, mo, day, yr % 100 );

This code produces the following output:

It's now 13:44 o'clock on 03-10-05.

See Also

wcstoul( ), wcstoull( ), wcstod( ), wcstof( ), and wcstold( ); strtol( ), strtoll( ), strtoul( ), and strtoull( )


Previous Page
Next Page