Преобразование wchar_t * в char * на iOS - PullRequest
0 голосов
/ 06 декабря 2011

Я пытаюсь преобразовать wchar_t * в символ *.Вот мой код:

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 голосов
/ 06 декабря 2011

Кажется, проблема заключалась в том, что исходная строка была закодирована с нестандартной кодировкой (два символа ASCII для каждого широкого символа), которая хорошо выглядела в отладчике, но явно внутренне была кислой.Полученный код ошибки явно не документирован, но это эквивалентно невозможности декодировать указанный фрагмент текста.

...