【发布时间】:2015-01-29 18:40:52
【问题描述】:
为什么 execv*() 系列函数的 argv 参数是 char * const [] 而 execl*() 系列 arg0...n 参数是 const char *?这只是标准中的一个错误,应该是const char * const [] 还是有理由让字符串在数组情况下是非常量但在显式传递的参数情况下是常量?
int execl(const char *path, const char *arg0, ... /*, (char *)0 */);
int execv(const char *path, char *const argv[]);
int execle(const char *path, const char *arg0, ... /*,
(char *)0, char *const envp[]*/);
int execve(const char *path, char *const argv[], char *const envp[]);
int execlp(const char *file, const char *arg0, ... /*, (char *)0 */);
int execvp(const char *file, char *const argv[]);
【问题讨论】: