我自己学习C语言,而且我正在编写一个接受命令行参数的程序。
main(int argc, char **argv)
chdir (argv[1]);
我想知道,如果有任何方法我可以限制可以传递给这个程序的参数数量,比如说,我传递了多少个参数,它只接受前2个?我正在考虑这个因为我不想在程序的记忆中保留大量的参数(可能是愚蠢的想法)。
答案 0 :(得分:1)
没有办法限制操作系统可以以编程方式传递给程序的参数数量......但是,您可以执行以下两项操作之一:
exit
有错误。
#include <stdio.h>
#include <stdlib.h>
#define EXPECTED_NUMBER_OF_ARGUMENTS (2)
int main(int argc, char *argv[])
{
if(argc != EXPECTED_NUMBER_OF_ARGUMENTS)
{
fprintf(stderr, "usage: %s (val)", argv[0]);
exit(EXIT_FAILURE);
}
...
exit(EXIT_SUCCESS);
}