easy_121 发表于 2013-06-19 08:06

系统函数exec

在系统编程中exec 能否使用通配符
如果能怎么使用,如果不能那是为什么?

井蛙夏虫 发表于 2013-06-22 22:53

本帖最后由 井蛙夏虫 于 2013-06-22 22:54 编辑

回复 1# easy_121
能,只要传给shell就行了。给你个简单的例子#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>

int main()
{
    pid_t pid;
    if ((pid = fork()) < 0)
      exit(1);
    else if (pid == 0)
    {
      execlp("/bin/bash", "/bin/bash", "-c", "ls *", NULL);
      exit(0);
    }
    waitpid(pid, NULL, 0);
    return 0;
}

MMMIX 发表于 2013-06-23 17:06

井蛙夏虫 发表于 2013-06-22 22:53 static/image/common/back.gif
回复 1# easy_121
能,只要传给shell就行了。给你个简单的例子

你这是在偷换概念。

井蛙夏虫 发表于 2013-06-23 18:59

回复 3# MMMIX
好像是呀!
如果放在exec调用的程序名部分应当不可以。
如果不是程序名部分,就得看被调用的程序能否处理。


   

easy_121 发表于 2013-06-25 16:53

回复 2# 井蛙夏虫


    这个方法可行

357749340 发表于 2013-07-05 13:59

可以用的,这个是管道的另一个应用
页: [1]
查看完整版本: 系统函数exec