如何在 clang 中获取 wchar_t** 参数?
How to get wchar_t** arguments in clang?
没有 wmain
但我想使用 unicode 参数。
是否可以在 clang
中执行以及如何执行?
你为什么不直接从 argv
转换成 unicode?
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
收缩以适应,或者你可以在 [=15 的每个元素上使用 mbtowc
=] 而不是使用 mbstowcs
.
没有 wmain
但我想使用 unicode 参数。
是否可以在 clang
中执行以及如何执行?
你为什么不直接从 argv
转换成 unicode?
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
收缩以适应,或者你可以在 [=15 的每个元素上使用 mbtowc
=] 而不是使用 mbstowcs
.