我正试图通过system()- 例如,启动外部应用程序system("ls").我希望捕获它的输出,因此我可以将它发送到另一个函数进行进一步处理.在C/C++中最好的方法是什么?
我有一个popen()函数执行"tail -f sometextfile".只要文件流中有数据显然我可以通过fgets()获取数据.现在,如果没有来自尾部的新数据,fgets()会挂起.我试过ferror()和feof()无济于事.如何在文件流中没有新内容的情况下确保fgets()不会尝试读取数据?
其中一个建议是select().由于这是针对Windows平台选择似乎不起作用,因为匿名管道似乎不起作用(请参阅此文章).