我正在运行一个程序,它启动了一个进程,然后该进程会将内容写入stdout,我的程序会调用这个stdout。问题是,我需要的输出大约有42000字节。看起来stdout缓冲区大小为8192,我不想让它在达到42000之前就进行flush。请问有没有设置的方法?
我尝试了以下代码:
我尝试了以下代码:
setvbuf ( stdout , NULL , _IOFBF , 50000 ); // ie set it to 50000 bytes
我在子进程的代码上工作,但它似乎根本不起作用。有人有什么想法吗?
setvbuf()
;之后,setvbuf()
调用将不起作用。 - Jonathan Leffler