我有两个C程序,Project1A.c和Project1B.c。我试图使用execl()从Project1B内部执行Project1A,但到目前为止它还没有工作。
Project1B.c
str.split()
答案 0 :(得分:2)
execl执行二进制文件,这意味着您无法传递 Project1A.c 并期望它能够正常工作。您需要编译它并执行编译程序。
该函数的后续参数是命令行参数,以NULL结尾。这意味着你的execl调用对应于shell上的./Project1A.c ./prog,这显然不起作用。
相反,您的execl调用应该是:execl("prog1A", NULL);
。
另一方面,您可以通过首先使用系统函数运行编译命令来运行C代码,然后在编译成功的情况下使用execl运行编译的程序。