相关疑难解决方法(0)

如何使用FILE*写入内存缓冲区?

有没有办法将内存缓冲区创建为FILE*.在TiXml中它可以将xml打印到FILE*但我似乎无法将其打印到内存缓冲区.

c c++

39
推荐指数
5
解决办法
4万
查看次数

如何缓冲内存中的stdout并从专用线程写入

我有一个包含许多工作线程的C应用程序.至关重要的是,这些不会阻塞工作线程需要写入磁盘上的文件,我让它们写入内存中的循环缓冲区,然后有一个专用线程将该缓冲区写入磁盘.

工作线程不再阻塞.专用线程可以在写入磁盘时安全地阻塞,而不会影响工作线程(写入磁盘时它不会保持锁定).我的内存缓冲区调整得足够大,以至于编写器线程可以跟上.

一切都很好.我的问题是,我如何为stdout实现类似的东西?

我可以宏printf()写入内存缓冲区,但我无法控制可能写入stdout的所有代码(其中一些代码在第三方库中).

思考?NickB

c stdout file buffering

22
推荐指数
2
解决办法
3万
查看次数

标签 统计

c ×2

buffering ×1

c++ ×1

file ×1

stdout ×1