一、标准I/O:
标准I/O先将数据写入缓冲区,然后当缓冲区满时,将数据刷新到文件中去。
1. 全缓冲:数据存放在缓冲区,当缓冲区满时才输出到相应的文件中去。当进程退出时,会将缓冲区的数据强制刷新到想要输出的文件中去!
fflush强制将缓冲区数据刷新到相应的文件中去!
2. 行缓冲:当你的printf中加\n时程序也会将你打印的数据强制刷新到相应的文件中去。
3. 不缓冲:当你把数据写入stderr标准出错中时,这时stderr没有缓冲区概念,直接将数据写诶相应的文件中去。
二、文件I/O:
直接将数据写入到文件中去。
例如:
#include <stdio.h>
int main()
{
FILE* fp_0 = NULL;
fp_0 = fopen("hello.txt","w+");
if( NULL == fp_0 )
{
printf("fopen error!\n");
return 0;
}
freopen("world.txt","w+",fp_0);
fputs("hello,world",fp_0);
return 0;
}