免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1964 | 回复: 5
打印 上一主题 下一主题

[函数] 在执行execl函数如何执行有管道形式的命令?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-05 14:47 |只看该作者 |倒序浏览
命令如下:
echo "open 192.168.7.51 21\nuser username passwd \nbin
\nget test1.C\nclose\nbye"|ftp -i -in
本命令在命令行可以执行

论坛徽章:
0
2 [报告]
发表于 2004-07-05 15:27 |只看该作者

在执行execl函数如何执行有管道形式的命令??

一样

论坛徽章:
0
3 [报告]
发表于 2004-07-05 15:31 |只看该作者

在执行execl函数如何执行有管道形式的命令??

FH老兄什么意思,能说的更明白一点吗??
我的程序如下:

  1. #include <stdio.h>;
  2. #include <string.h>;
  3. #include <strings.h>;
  4. #include <unistd.h>;

  5. int main(void)
  6. {
  7.       char strcmd[100];
  8.       
  9.       strcpy(strcmd1,"/usr/bin/echo \"open 10.24.2.240\nuser username passwd\nbin\nget send.C\nclose\nbye\n\"|/usr/bin/ftp -i -in");
  10.       if(execl(strcmd,"ftp",(char *)NULL) == -1)
  11.            printf("execl error\n");
  12.       else
  13.            printf("execl ok\n");
  14.       return 0;
  15. }
复制代码

输出execl error
如何执行能???

论坛徽章:
0
4 [报告]
发表于 2004-07-05 15:36 |只看该作者

在执行execl函数如何执行有管道形式的命令??

execlp("/bin/sh", "sh", "/usr/bin/echo \"open 10.24.2.240\nuser username passwd\nbin\nget send.C\nclose\nbye\n\"|/usr/bin/ftp -i -in\"", NULL );

论坛徽章:
0
5 [报告]
发表于 2004-07-06 14:37 |只看该作者

在执行execl函数如何执行有管道形式的命令??

调用system()更简单。

论坛徽章:
0
6 [报告]
发表于 2004-07-06 15:47 |只看该作者

在执行execl函数如何执行有管道形式的命令??

popen可以实现你的要求!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP