所以我得到了这段代码:
execlp("sh", "sh", "-c", string, (char*) 0);
在课堂上,并告诉udnerstand它。我一直在查找execlp API就像疯了一样,但我仍然不完全理解这段代码在做什么。
我最好的猜测: “sh”是文件路径
“ - c”是参数
string是命令
(char *)0是空终止符。
我似乎无法弄清楚为什么代码中有两个“sh”实例: 我猜-c表示复制,并且该命令正在使用string命令从一个文件到另一个文件执行复制,但我不是100%。
任何澄清将不胜感激。 谢谢。
答案 0 :(得分:3)
第一个参数是要执行的文件名(在本例中是sh命令)。它的第一个参数应该是可执行文件的名称(因此重复的“sh”), - c是sh exe的另一个参数,它告诉它从命令字符串中读取命令。 string是(我猜)sh应该执行的命令,而(char *)0只是一个结束标记。
如果我遗漏了你想解释的东西,请告诉我。