6

Is there a c atoi() equivalent for wide chars on Linux? I can find something for MS (wtoi) but I can find anything in a standard Linux lib.

harrije
  • 115
  • 1
  • 4

2 Answers2

9

You can use wcstol to convert from wide strings to integer values.

Reed Copsey
  • 554,122
  • 78
  • 1,158
  • 1,373
8

It is unusual for a Linux program to use wchar_t type.

The reason being that Linux uses utf-8 as the standard encoding. char const* strings are assumed to be utf-8 strings by glibc. Ascii digits and utf-8 digits have the same byte representation, so that atoi() works both on ascii and utf-8 strings.

Having said that, look in #include <wchar.t>, it provides wcstol().

Maxim Egorushkin
  • 131,725
  • 17
  • 180
  • 271