一个程序说明标准i/O缓冲的效率

来瞧一个程序,了解一下标准I/O中的缓冲区对程序运行的影响:

#include<stdio.h>
#include<unistd.h>

int main()
{
char a[2];

FILE *fp;

fp = fopen("a.txt", "w");

//setbuf(fp, 0);  /*  有没有这一句很关键,若有,则关闭缓冲区,若无,则带有缓冲区,运行后发现,带有缓存区的I/O要等程序运行结束后才写入*/

a[0] = 'a';
a[1] = 'b';

fwrite(a, 1, 2, fp);

sleep(600);

return 0;
}

 

从上面例子可以说明一个问题:标准I/O何时进行实际的读写操作?

你可能感兴趣的:(I/O)