C++ wxWidgets アプリケーションに渡されたコマンド ライン引数を読み取る方法はありますか? もしそうなら、その方法の例を教えてください。
質問する
6149 次
3 に答える
6
普通の C++ では、 と がargc
ありargv
ます。wxApp::argc
wxWidgets アプリケーションを構築している場合、、、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にも興味があるかもしれません。
于 2012-04-12T20:15:41.587 に答える
1
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;
}
于 2012-04-12T06:29:31.870 に答える