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