0

例如,我有一个程序,它的“main”函数被定义为 wmain。

int wmain( int argc, wchar_t *argv[] ) {
    wchar_t* lpModulePath = NULL;
    wchar_t* lpFunctionName = NULL;
    lpModulePath = argv[1];
    lpFunctionName = argv[2];
}

当然使用 wchar_t 类型。我怎样才能写一个函数

int main( int argc, char *argv[] )

将作为char传递的参数转换为wchar_t,然后自己调用wmain?

谢谢

4

1 回答 1

0

在 Windows 上,您可以使用GetCommandLineW()and CommandLineToArgvW()

int main(int argc, char* argv[])
{
    wchar_t** wargv = CommandLineToArgvW(GetCommandLineW(), &argc);
    int ret = wmain(argc, wargv);
    LocalFree(wargv);
    return ret;
}

在 Linux 上,恐怕您必须分配数组并循环转换字符串。

于 2018-09-21T11:41:02.287 回答