Как получить 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
,