我对标准库中的I / O缓冲有疑问: 我读了关于文件I / O缓冲的“Linux编程接口”第13章,作者提到标准库使用I / O缓冲磁盘文件和终端。 我的问题是这个I / O缓冲是否也适用于FIFO,管道,套接字和网络文件?
答案 0 :(得分:1)
是的,如果您使用的是基于FILE *
的标准I / O库。唯一奇怪的事情是,如果底层系统文件描述符为isatty
函数返回非零值。然后stdio可能'行缓冲'输入和输出。这意味着当它看到'\n'
时会倾向于刷新。
我认为如果文件描述符1为stdout
返回非零值,则需要行缓冲区isatty
。
答案 1 :(得分:0)