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. Examplewchar_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 Alsowcstoul( ), wcstoull( ), wcstod( ), wcstof( ), and wcstold( ); strtol( ), strtoll( ), strtoul( ), and strtoull( ) |