我正在尝试使用exec系列的Unix命令从另一个程序中执行C程序。
目标文件的主要功能定义为
int main(int argc, char *const argv[])
但exec命令似乎只接受
的参数const char *path, char *const argv[]
如何将int值传递给此函数?将argv
作为argv
的第一个值包含它是否有效,即使{{1}}是为了获取char值而不是整数?
答案 0 :(得分:6)
int argc
由可执行加载程序自动传递。它是通过查找NULL
数组中第一次出现argv
指针来计算的。
为exec调用创建参数向量时,请确保其中的最后一个元素是NULL
指针。 e.g。
char * argv[] = {"cat", "test.txt", NULL};