在iOS上将wchar_t *转换为char *

时间:2011-12-05 21:11:23

标签: string unicode char ansi wchar-t

我正在尝试将wchar_t *转换为char *。这是我的代码:

size_t result = wcstombs(returned, str, length + 1);
if (result == (size_t)-1) {
    int error = errno;
}

它确实失败了,并且错误填写了92(ENOPROTOOPT) - 协议不可用。

我甚至尝试过设置语言环境:

setlocale(LC_ALL, "C");

还有这个:

setlocale(LC_ALL, "");

我很想用静态演员阵容抛出角色!

1 个答案:

答案 0 :(得分:0)

似乎问题是源字符串是用非标准编码编码的(每个宽字符有两个ASCII字符),这在调试器中看起来很好,但内部显然很糟糕。产生的错误代码显然没有记录,但它等同于根本无法解码所述文本。