0

我有以下代码:

    const wchar_t *  hstr    = L"\x0967\x0968\x0969\x096a"; //1234 in Devnagari script.
    unsigned long long   u1;
    long long    n1;


n1  = wcstoll   (hstr, NULL, 10); // _wcstoi64 on Windows
u1  = wcstoull  (hstr, NULL, 10); // _wcstoui64 on Windows
LOG(L"String: \"%ls\" is %lld as long 64"),   hstr, n1);
LOG(L"String: \"%ls\" is %llu as long 64"), hstr, u1);

在 Windows 上的日志中,它工作正常并且数字被转换。

在 Mac OS X 上,n1 和 u1 是 0 而不是 1234。这里有什么问题?Mac OS X 上的 wctoll 是否不支持多语言号码?

4

1 回答 1

0

wchar_t不一定是 unicode 数字。它取决于语言环境,所以也许先看看设置你的语言环境。只是猜测

于 2013-05-30T10:01:44.903 回答