社区
Linux/Unix社区
帖子详情
c++里的system()函数调用系统命令如何获取打印信息
ding525
2011-05-09 10:41:46
比如命令ls /opt/*.rpm | awk -F '[-|.]' '{print $3}'会输出1005这个结果。在c++代码中调用system("ls /opt/*.rpm | awk -F '[-|.]' '{print $3}'"),有没有办法获取1005这个值呢?
...全文
2978
18
打赏
收藏
c++里的system()函数调用系统命令如何获取打印信息
比如命令ls /opt/*.rpm | awk -F '[-|.]' '{print $3}'会输出1005这个结果。在c++代码中调用system("ls /opt/*.rpm | awk -F '[-|.]' '{print $3}'"),有没有办法获取1005这个值呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i丹明扬
2013-03-02
打赏
举报
回复
感谢哈~~啊啊啊啊啊啊啊啊
FCARM
2012-02-20
打赏
举报
回复
收下,终于找到我想要的东西 了
shenyan008
2011-10-12
打赏
举报
回复
又见popen
sadever
2011-10-11
打赏
举报
回复
正好要用,就看到了,谢谢!!
fensnote
2011-09-28
打赏
举报
回复
重定向
once_and_again
2011-09-28
打赏
举报
回复
[Quote=引用 2 楼 challenge99 的回复:]
恭喜楼主自学成才
[/Quote]
恭喜楼主自学成才
沭水河畔
2011-09-24
打赏
举报
回复
嗯,apue那本书上有讲这个。
Dogofmikado
2011-09-24
打赏
举报
回复
谢谢楼主,正找你就送来了,太感谢了,呵呵
linuhuge
2011-05-10
打赏
举报
回复
要获取结果 一般popen 原理也是pipe
不过这个要再至少开两个进程,考虑到效率的时候要慎用
Arnold9009
2011-05-10
打赏
举报
回复
学习了~~~~~~~还真没用过的说。。。。。。。。。
yong_f
2011-05-09
打赏
举报
回复
可以把标准的输出重定向到一个文件,再读取文件就可以了
justkk
2011-05-09
打赏
举报
回复
嗯 popen(cmd, "r")
可以读取命令的输出信息
李亚超
2011-05-09
打赏
举报
回复
自己动手
challenge99
2011-05-09
打赏
举报
回复
恭喜楼主自学成才
ding525
2011-05-09
打赏
举报
回复
自己找到答案了。
http://www.linuxidc.com/Linux/2011-04/34092.htm
#include <stdio.h>
#include <string>
void executeCMD(const char *cmd, char *result)
{
char buf_ps[1024];
char ps[1024]={0};
FILE *ptr;
strcpy(ps, cmd);
if((ptr=popen(ps, "r"))!=NULL)
{
while(fgets(buf_ps, 1024, ptr)!=NULL)
{
strcat(result, buf_ps);
if(strlen(result)>1024)
break;
}
pclose(ptr);
ptr = NULL;
}
else
{
printf("popen %s error\n", ps);
}
}
int main()
{
char result[1024];
executeCMD( "ls /opt/*.rpm | awk -F '[-|.]' '{print $3}'", result);
printf("%s", result );
return 0;
}
xiangpengmeng
2011-05-09
打赏
举报
回复
学习了, 以前也一直在想用这种方式,只不过一直没用到, 也没进一步考虑, 呵呵, 留下了
c/
c++
调用system
获取
返回值
在 c/
c++
程序中,可以使用 system()函数运行命令行,但是只能得到该命令行的 int 型返回值,并不能获得显示结果。例如system(“ls”)只能得到0或非0,如果要获得ls的执行结果,则要通过管道来完成的。首先用popen打开一个命令行的管道,然后通过fgets获得该管道传输的内容,也就是命令行运行的结果。 C/
C++
程序中调用命令行命令并
获取
命令行输出结果...
关于linux
c++
守护进程调用调用system函数
我们的程序是守护进程,也就是说在最开始会设置一些信号处理,比如说 ... signal(SIGCHLD, SIG_IGN); //忽略子进程结束的信号 ... 在这样的场景之下,我想实现这样的一个功能: 通过调用system函数来执行一些
系统命令
,并根据
系统命令
的返回值是不是0来判断命令是否执行成功(正常情况下调用system函数,执行成功 return 0; 执行失败 return 正...
C++
之system函数
转载自:http://www.xuebuyuan.com/2119209.html 1.windows操作系统下system () 函数详解(主要是在C语言中的应用) 函数名: system 功 能: 发出一个DOS命令 用 法: int system(char *command); system函数已经被收录在标准c库中,可以直接调用 #include #
c++
system
函数调用
命令无效问题的解决办法(QT开发)
问题描述:在QT开发中,system函数失效,即使是普通的DOS命令,如 system("date"), 也无法顺利执行。头文件引用等一切正常。 解决办法:检查环境变量。在环境变量中检查PATH路径是否包含C:\Windows\system32(如下图所示)。如果没有则将C:\Windows\system32加入到PATH中。本方法仅限于windows 7。 ...
Linux/Unix社区
23,222
社区成员
74,543
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章