Name

wcstoumax

Synopsis

Converts a wide string into an integer value with type uintmax_t

#include <stddef.h>
#include <inttypes.h>
uintmax_twcstoumax( const wchar_t * restrict wcs,
                     wchar_t ** restrict endptr, int base );

The wcstoumax() function is similar to wcstoul(), except that it converts a wide string to an integer value of type uintmax_t. If the conversion fails, wcstoumax() returns 0. If the result of the conversion exceeds the range of the type uintmax_t, then the wcstoumax() returns UINTMAX_MAX and sets the errno variable to the value of ERANGE (“range error”).

Example

typedef struct {
  uintmax_t packets, bytes;
  wchar_t   policy[16];
  wchar_t   protocol[6];
  /* ... */
} stats_t ;
stats_t iface_in;

wchar_t wcsstat[ ] =
                L"25183 1633438 ACCEPT tcp -- eth2 * 0.0.0.0/0 tcp dpts:80";
wchar_t *wcsptr = wcsstat;

iface_in.packets = wcstoumax( wcsptr, &wcsptr, 10 );
iface_in.bytes = wcstoumax( ++wcsptr, &wcsptr, 10 );
/* ... */
wprintf( L"Packets: %" PRIuMAX "; bytes: %" PRIuMAX "; policy: ...\n",
         iface_in.packets, iface_in.bytes );

This code produces the following output:

Packets: 25183; bytes: 1633438; policy: ...

See Also

wcstoimax(), wcstol(), and wcstoul(); wcstod(), wcstof(), and wcstold(); strtoimax() and strtoumax()

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.