例如,我有一个程序,其“主”函数定义为 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?
谢谢
最佳答案
在 Windows 上,您可以使用 GetCommandLineW()
和 CommandLineToArgvW()
:
int main(int argc, char* argv[])
{
wchar_t** wargv = CommandLineToArgvW(GetCommandLineW(), &argc);
int ret = wmain(argc, wargv);
LocalFree(wargv);
return ret;
}
在 Linux 上,恐怕你必须在循环中分配数组并转换字符串。
关于c - main() 包装器启动 main() 程序以从命令行编译它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52442462/