参考下大神的命令行参数解析是如何是实现的
//使用const char []代替宏定义字符串,我以前都是用const QString,想想好傻
const char SETTINGS_OPTION[] = "-settingspath";
const char INSTALL_SETTINGS_OPTION[] = "-installsettingspath";
const char PLUGINPATH_OPTION[] = "-pluginpath";
const char TEST_OPTION[] = "-test";
//保存参数的结构体
struct Options
{
QString settingsPath;
QString installSettingsPath;
QStringList customPluginPaths;
std::vector<char *> appArguments;
bool hasTestOption = false;
};
Options parseCommandLine(int argc, char *argv[])
{
Options options;
auto it = argv;
const auto end = argv + argc;
while (it != end) {
const auto arg = QString::fromLocal8Bit(*it);
const bool hasN