gpt4 book ai didi

C 如何在命令行中传递确切数量的参数

转载 作者:行者123 更新时间:2023-11-30 15:31:26 25 4
gpt4 key购买 nike

我正在自学 C,并且正在编写一个接受命令行参数的程序。

main(int argc, char **argv)
chdir (argv[1]);

我想知道,是否有任何方法可以限制可以传递给该程序的参数数量,比如说,我传递了多少参数,它只接受前两个?我之所以想到这一点是因为我不想在程序的内存中保留大量参数(可能是愚蠢的想法)。

最佳答案

无法限制操作系统可以通过编程方式传递给程序的参数数量...但是,您可以执行以下两种操作之一:

  1. 忽略额外参数
  2. 退出并出现错误。

    #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);
    }

关于C 如何在命令行中传递确切数量的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812560/

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