Самый простой способ преобразовать массив широких строк или широких символов в массив простых символов?

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

В итоге я получаю то, что выглядит следующим образом:

wchar_t* wstr;

// char* str = "need some processing here";

function(str);

Итак, есть ли простой способ или я должен просто сделать это вручную символ за символом?

2

Решение

char * может означать много вещей. Если функция, принимающая символ *, фактически использует UTF8, есть способы преобразовать UTF16 или UTF32 в UTF8. wchar_t обычно используется для хранения UTF16 (windows) или UTF32 (macosx), а также других кодировок.

Посмотрите здесь на ConvertUTF.c / .h

код unicode.org

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]