eri*_*ich 5 c program-entry-point setuid exec argv
该execv()函数需要一个NULL终止字符串数组,但不接受参数数量.它使用标记值(NULL指针)来确定数组何时结束.
execv()各州的手册页......
按照惯例,第一个参数应指向与正在执行的文件关联的文件名.指针数组必须由NULL指针终止.
......所以我的问题是......
我想通过argv从main()到execv().
我能确定进入main的argv是由NULL指针终止的吗?也就是说,我可以放心,argv[argc] == NULL还是我分配我自己的char*尺寸阵列argc+ 1,并把NULL在argc指数?
如果我可以放心,它是否在某处记录?
谢谢,〜埃里克
是.的argv矢量总是NULL终止.
C99标准草案规定:
如果声明它们,
main函数的参数应遵循以下约束:
- 值
argc应为非负值.argv[argc]应为空指针.