通过读取功能而不是fread读取标准输出
reading standard output via read function instead of fread
我希望我的程序读取另一个应用程序生成的标准输出。我知道我可以使用popen
来实现这一点,并使用fread
来读取输出。
你知道是否可以使用read
(可能还有open
)吗?我在LINUX中使用C/C++
您可以通过为从popen()
获得的FILE *fp
调用int fd = fileno(fp)
来获得read()
的文件描述符。但请注意,不能混用调用read()
和fread()
!
编辑
如果你想避免使用popen()
,你必须像这里一样使用pipe()
、fork()
、exec..()
和dup2()
。
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++将文本文件中的数据读取到结构数组中
- 正在将csv文件读取为双精度矢量
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 奇怪的内存消耗 C fread / C++ 读取函数,基于 Linux sysinfo 数据
- 在C++中使用 fread 从二进制文件中读取字符串及其长度
- 功能"fread()"不读取特定文件类型?
- 尝试使用 fread 读取文本文件时发生 'System.AccessViolationException' 类型的未处理异常
- 如何使用 fread 和缓冲从 C++ 中的文件中读取文件
- 使用fread()读取BMP的文件头
- 通过读取功能而不是fread读取标准输出
- 使用fread读取二进制文件时,无法获得正确的元素计数
- C++fread读取文件开头的随机字符