今天看源码,看到一句
setvbuf(stdout, NULL, _IONBF, 0);
关于setvbuf接口,linux系统编程手册P195有介绍。其中对_IONBF这个参数,做以下解释:
不对IO进行缓冲,每个stdio库函数立刻调用write()或read(),并且忽略buf和size。可以分别指定两个参数为NULL或者0.如stderr,可以保证错误立即输出。
看得一脸懵逼。
其实意思就是,这个参数配合NULL,0使用,可以让指定的缓冲区不缓冲,有数据就立刻输出。
今天看源码,看到一句
setvbuf(stdout, NULL, _IONBF, 0);
关于setvbuf接口,linux系统编程手册P195有介绍。其中对_IONBF这个参数,做以下解释:
不对IO进行缓冲,每个stdio库函数立刻调用write()或read(),并且忽略buf和size。可以分别指定两个参数为NULL或者0.如stderr,可以保证错误立即输出。
看得一脸懵逼。
其实意思就是,这个参数配合NULL,0使用,可以让指定的缓冲区不缓冲,有数据就立刻输出。