《C陷阱与缺陷》:缓冲输出和内存分配
程序输出有两种方式:一种是即时处理方式,另一种是先暂存起来,然后再大块写入的方式,前者往往造成较高的系统负担。因此,C语言实现通常都允许程序员进行实际的写操作之前控制产生的输出数据量。这种控制能力一般是通过库函数 setbuf 实现的。如果 buf 是一个大小适当的字符数组,那么: setbuf(stdout,buf);语句将通知输入/输出库,所有写入到 stdout 的输出都应该使用 buf 作为