Как получить wchar_t** аргументы в clang?

Здесь нет wmain но я хочу использовать аргументы Unicode.

Можно ли это сделать в clang и как?

1 ответ

Решение

Почему бы тебе просто не перевести argv в юникод?

int main(int argc, char *argv[])
{
    wchar_t **wargv = malloc(argc * sizeof(wchar_t *));
    for (int i = 0; i < argc; i++)
    {
        wargv[i] = malloc(/* enough size - see below */);
        mbstowcs(wargv[i], argv[i], /* the size */);
    }

    //...
}

Ты можешь сделать malloc с достаточным размером, чтобы сохранить строку и сделать realloc чтобы сжать, чтобы соответствовать, или Вы можете использовать mbtowc на каждом элементе argv[i] а не использовать mbstowcs,

Другие вопросы по тегам