Name
wcstol, wcstoll
Synopsis
Converts a wide string into a long
(or long
long
) integer value
#include <wchar.h> long intwcstol
( const wchar_t * restrictwcs
, wchar_t ** restrictendptr
, intbase
); long long intwcstoll
( const wchar_t * restrictwcs
, wchar_t ** restrictendptr
, intbase
); (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()
Get C in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.