使用 c 在 putty 中只接受一个命令行参数

Taking only one command line argument in putty using c

你好,我想用 c 编写只接受一个输入文件的代码。 例如我想要输入文件的名称是 shortinput.txt ! 所以我将在 putty 中使用一个命令行参数,并且我还想让代码只获得一个参数。如果命令行参数的数量不是 1(零个或多于 1),则应该 在显示屏上打印一个用法字符串并退出程序。用法字符串如下所示: 用法:./hw2 input_filename

问题就在这里。在下面的代码中,我想打印错误,不仅参数为空而且还有多个!

int main(int argc, char* argv[]){
 if(argv[1]==NULL||argv[2]||argv[3])//where i want to fix  
 {
     printf("usage: ./hw2 input_filename"); 
 }  
 FILE *fp =fopen(argv[1],"r"); 
 if(fp==NULL){
     printf("The input file does not exist.\n"); 
    } 
 }

您想检查传递了多少个参数。你有 argc 参数。

if(argc != 2)
{
    printf("usage: ./hw2 input_filename");
    /* do more (exit etc) */
}