Функция execv()
ожидает массив из строк с завершением NULL
, но не принимает количество аргументов. Он использует контрольное значение (указатель NULL
), чтобы определить, когда заканчивается массив.
На справочной странице для execv()
указано...
Первый аргумент по соглашению должен указывать на имя файла связанный с исполняемым файлом. Массив указателей должен завершаться указателем NULL.
... поэтому мой вопрос....
Я хочу передать argv
из main()
в execv()
.
Могу ли я быть уверен, что argv, поступающий в main, завершается нулевым указателем?
То есть могу ли я быть уверен, что argv[argc] == NULL
или мне нужно выделить свой собственный массив char*
размером argc
+ 1 и поместить NULL
в индекс argc
?
Если я могу быть уверен, это где-нибудь задокументировано?
Спасибо, ~Eric