我想在C源代码中使用Linux命令。
我可以使用System()
功能吗?这可能在Linux上吗?
如果我不能使用System()函数,我该怎么办?我想“tar xvf example.tar”。
答案 0 :(得分:2)
您可以使用system()
和exec()
功能
答案 1 :(得分:0)
如果您只想执行shell命令而不寻找任何返回值,那么您可以使用system()函数调用。
不建议使用系统调用(请参阅系统手册页)。我建议你使用exec(),它应该在fork()之后在子进程中调用。
下一个选择可以使用popen()。
piff = (FILE *)popen("ls -l", "r");
if (piff == (FILE *)0)
return (-1);
while ((i = read(fileno(piff), buff, sizeof (buf))) == -1) {
if (errno != EINTR) {
break;
}
(void)pclose(piff);