限制C中主要参数的数量

前端之家收集整理的这篇文章主要介绍了限制C中主要参数的数量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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

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

猜你在找的C&C++相关文章