有没有一种方法我可以读传递到一个C ++ wxWidgets的应用程序的命令行参数? 如果是这样,请您提供如何做到这一点的例子。
Answer 1:
看看这些例子( 1 , 2 )或:
int main(int argc, char **argv)
{
wxApp::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, "program");
wxInitializer initializer;
if (!initializer)
{
fprintf(stderr, "Failed to initialize the wxWidgets library, aborting.");
return -1;
}
static const wxCmdLineEntryDesc cmdLineDesc[] =
{
{ wxCMD_LINE_SWITCH, "h", "help", "show this help message",
wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
// ... your other command line options here...
{ wxCMD_LINE_NONE }
};
wxCmdLineParser parser(cmdLineDesc, argc, wxArgv);
switch ( parser.Parse() )
{
case -1:
wxLogMessage(_T("Help was given, terminating."));
break;
case 0:
// everything is ok; proceed
break;
default:
wxLogMessage(_T("Syntax error detected, aborting."));
break;
}
return 0;
}
Answer 2:
在普通的C ++,存在argc
和argv
。 当你正在建设一个wxWidgets的应用程序,您可以使用访问这些wxApp::argc
, wxApp::argv[]
或wxAppConsole::argc
, wxAppConsole::argv[]
需要注意的是wxApp
源自wxAppConsole
,所以要么取决于如果您有一个控制台应用程序或GUI应用程序的工作。 见wxAppConsole
IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() {
// Access command line arguments with wxApp::argc, wxApp::argv[0], etc.
// ...
}
您还可能有兴趣在wxCmdLineParser 。
Answer 3:
您可以从您访问命令行变量wxApp
,因为它从inherites wxAppConsole
提供wxAppConsole :: ARGC和wxAppConsole :: argv的 。
文章来源: Command line arguments in wxWidgets