这是我的 0.02 美元:
#include <stdio.h>
#include <string.h>
int
main (int argc, char *argv[])
{
if (argc != 2) {
printf ("USAGE: ./Person [-f|-l]\n");
return 1;
}
if (strcmp (argv[1], "-f") == 0) {
printf("First Name");
}
else if (strcmp (argv[1], "-l") == 0)
printf("Last Name");
}
else {
printf ("Unknown argument\n");
return 1;
}
return 0;
}
要点:
1) 在 C 中,你不能只比较字符串(比如 "aaa" == "bbb")。您需要特殊的库函数,例如“strcmp()”(“比较字符串”)。
2) 为了使用库函数,您需要#include 头文件(如“stdio.h”,用于“printf()”,或“string.h”,用于“strcmp()”)。你可以通过使用“man”来找出你需要的标题......或者只是谷歌搜索相关的调用(“google strcmp”应该给你与“man strcmp”相同的结果)
3) 使用程序返回值来表示“成功”或“失败”是一个很好的通用约定。按照惯例,“0”通常表示“成功”。
4) 最后,为了您的目的,必须使用“argc”和“argv”来访问您的命令行参数。
5) 顶部的“if (argc != 2)”确保您输入了至少一个命令行参数(参数“0”是程序本身的名称)。这很重要,因为尝试读取您没有的参数(“尝试读取数组的末尾”)可能会导致崩溃;)
'希望有帮助!