【发布时间】:2017-03-14 07:55:41
【问题描述】:
我正在使用命令行选项来执行操作类型,因此,例如登录,用户必须执行类似NameOfExe --username Admin --password Admin的命令
我的问题是如何确保用户在他提供的选项中输入正确的值,并在NameOfExe --username --password 这样的情况下避免错误?
编辑:-
现在我采用这样的参数值
char* Cli::getCmdOption(char** begin,
char** end,
const std::string& option)
{
char** itr = std::find(begin, end, option);
if (itr != end && ++itr != end)
{
return *itr;
}
return (char*)"";
}
并将其用作getCmdOption(argv , argv+argc , "--userName")
【问题讨论】:
-
通常你可以使用你的
main的argcargv做出这样的决定 -
Boost 具有出色的命令行参数解析接口。用那个?见stackoverflow.com/questions/253556/…
-
在您展示的示例中,它只是检查是否提供了用户名但没有密码。
-
我确实有命令行参数,即 argc,argv,但是有多个命令需要不同的参数,例如 --name 和 --proxy
-
见boost.org/doc/libs/1_36_0/doc/html/program_options.html 这是一个学习曲线(如果您之前从未使用过Boost,那么请等待一个月),但我认为值得。如果您有 Boost 经验,您的市场价值就会上升。
标签: c++