加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

限制C中主要参数的数量

发布时间:2020-12-16 06:44:20 所属栏目:百科 来源:网络整理
导读:在C中传递给main()的参数数量有限吗?众所周知,它被定义为int main(int argc,char * argv []). 当我调用程序时,我可以传递这样的参数: $prog.exe arg1 arg2 arg3.....argn 我们可以以这种方式提供给main()的参数数量有上限吗? 解决方法 不,ISO C99标准没有
在C中传递给main()的参数数量有限吗?众所周知,它被定义为int main(int argc,char * argv []).

当我调用程序时,我可以传递这样的参数:

$prog.exe arg1 arg2 arg3.....argn

我们可以以这种方式提供给main()的参数数量有上限吗?

解决方法

不,ISO C99标准没有限制.如果你使用“祝福”的主要形式(其中有两个):
int main (int argc,char *argv[]);

那么您将被限制为有符号整数的最大大小(实现依赖,但保证至少为215-1或32,767).

当然,您甚至可以拥有更多的功能,因为该标准特别允许非保佑的主要形式(例如,需要很长时间的计数).

该标准规定了参数的存储方式,像argv [argc]必须为NULL,但不直接限制数量.

当然,在实践中将会有局限性,但这完全取决于实施和环境.但是,如果你要问,那么你可能在做something wrong.

大多数工具会将真正大量的参数放入一个响应文件(如args.txt)中,然后传递一个参数,如:

my_prog @args.txt

它对参数数量和大小有任意限制.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读