在C源代码中使用linux命令

时间:2012-11-30 02:28:15

标签: c linux

我想在C源代码中使用Linux命令。

我可以使用System()功能吗?这可能在Linux上吗?

如果我不能使用System()函数,我该怎么办?我想“tar xvf example.tar”。

2 个答案:

答案 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);