gpt4 book ai didi

检查 C 中的命令行参数

转载 作者:行者123 更新时间:2023-11-30 18:50:22 27 4
gpt4 key购买 nike

我编写此代码是为了从命令行获取输入,并且根据输入,将执行一组操作,或者如果输入不正确,则会引发错误。但是,我还需要检查是否未提供任何参数,我尝试在 else 语句中对此进行解释。

if(strcmp(argv[1], "-L") == 0) 
{
//does stuff
}


else if(strcmp(argv[1], "-W") == 0)
{

//does stuff

}

else if (*(argv[1]) != 1)
{
puts("error: invalid input");
}

else //should check if no arguments
{
puts("error: expected command line argument");
return 1;
}

只要命令行中没有参数,我就会遇到段错误,并且我不知道如何修复它。我也尝试过这样写 else 语句:

else if(argc < 2)
{
puts("error: expected command line argument");
return 1;
}

这是基于我之前的研究,我发现“如果命令行中没有给出参数,C 将产生错误”,但它也不起作用。我是 C 初学者,不完全理解 argc 和 argv,所以如果有人有任何我完全忽略的建议或逻辑,请告诉我。

最佳答案

您需要检查if argc < 2首先。

否则你会遇到段错误,因为 argv[index]可能是您无权访问的内容。

关于检查 C 中的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40296960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com