请教如何在C++中用system()函数执行shell命令,然后获取执行结果?

cyanman 2006-01-05 09:11:50
当程序system()后能在控制台显示,但程序中无法取得执行后的结果,好象stdout中没有数据。我用的是Freebsd 下的Gcc编译器,请问如何才能获取结果?
...全文
1338 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyanman 2006-01-07
  • 打赏
  • 举报
回复
向老烦学习,知足常乐,在找不到更好的解决方案之前先这么将就着吧。
lxpws 2006-01-06
  • 打赏
  • 举报
回复
能放出来就不错了,总比憋着不放强^_^
wshcdr 2006-01-06
  • 打赏
  • 举报
回复
参考
http://www.codeproject.com/dialog/quickwin.asp
Mybox 2006-01-06
  • 打赏
  • 举报
回复
重定向输出到文件,再读出来.
cyanman 2006-01-06
  • 打赏
  • 举报
回复
请问wshcdr(dd),通过重定向不用写到文件中可以实现吗?能否给段代码说明?
写进文件再读出来有点脱裤子放屁的感觉很是不爽。
MadLee 2006-01-06
  • 打赏
  • 举报
回复
FILE* pf = popen("dir", "r");

while (!feof(pf))
{
char buf[100];
fread(buf, 100, pf);
printf(buf);
}
pclose(pf);
wshcdr 2006-01-05
  • 打赏
  • 举报
回复
可以通过重定向,来得到结果
vollin 2006-01-05
  • 打赏
  • 举报
回复
同上,将结果存到文件中,看样子是一种通用的作法,反正我们公司的都这样用。
zhouhuahai 2006-01-05
  • 打赏
  • 举报
回复
用输出重定向方法写到文件, 再从文件中读就是了.
如:
exeName > result.re
sinall 2006-01-05
  • 打赏
  • 举报
回复
据说没办法,可以重定向到文件中;但是得读文件。
sankt 2006-01-05
  • 打赏
  • 举报
回复
up

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧