这似乎有点像计算系统101的问题,但我很难过.
我正在将C/C++项目A中的现有代码集成到我自己的项目B中.A和B都将链接到一个可执行的线程进程中.项目A的代码广泛使用printf进行输出.这很好,但我也希望将输出捕获到我自己的缓冲区中.一旦printf调用写入,我有没有办法从stdout读取?我不能分叉过程或管道.我对poll()stdout或者dup()的努力没有成功(我可能在这里做错了).
c unix printf stdout
c ×1
printf ×1
stdout ×1
unix ×1