我希望我的程序读取另一个应用程序生成的标准输出。我知道我可以使用popen
来执行此操作并使用fread
来读取该输出。
您知道是否可以使用read
(可能还有open
)?我在LINUX中使用C / C ++
答案 0 :(得分:2)
您可以通过read()
为int fd = fileno(fp)
获取FILE *fp
来获取popen()
的文件描述符。但请注意,您不得混淆调用read()
和fread()
!
修改强>
如果您想避免popen()
,则必须使用pipe()
,fork()
,exec..()
和dup2()
,就像它已完成here < / p>