我可以要求用户重新输入命令行参数吗?

Can i ask the user to re-enter command line argument

本文关键字:输入 命令行 参数 用户 新输入 我可以      更新时间:2023-10-16
main(int argc, char *argv[])
{
if(argc != 3) {
printf("Invalid number of argumentsn");
exit(1);
}}

如果计数不匹配所需的参数数,则直接退出程序。

如果参数的数量与计数不匹配,是否有办法要求用户重新输入命令行参数?我的意思是没有退出程序…

尝试:

#include <iostream>
#include <string>
std::string askUser(std::string const& question)
{   
     std::cout << question << "n";
     std::string result;
     std::getline(std::cin, result);
     return result;
}   
int main(int argc, char* argv[])
{   
    std::string  arg1;
    std::string  arg2;
    std::string  arg3;
    arg1   = (argc > 1) ? std::string(argv[1]) : askUser("Please Enter Arg1");
    arg2   = (argc > 2) ? std::string(argv[2]) : askUser("Please Enter Arg2");
    arg3   = (argc > 3) ? std::string(argv[3]) : askUser("Please Enter Arg3");
 }