缓冲区的认识
缓冲区(buffer)是存储数据的临时存储区域。当我们用C语言向文件中写入数据时,数据并不会直接的写到文件中,中途还经过了缓冲区,而我们需要对缓冲区的数据进行刷新,那么数据才算写到文件当中。而缓冲区通常是一块内存区域,可以是数组、队列、链表等数据结构。
代码举例
int main()
{
//C接口
FILE* fp=fopen("log.txt","w");//创建文件
const char* buffer = "hello buffer\n";
fwrite(buffer,strlen(buffer),1,fp);//文件写入
//系统接口
close(fp->_fileno);
return 0;
}
此时的数据其实就是写进了缓冲区中,但是我们此时的调用接口是不一样的,关闭文件调用的是系统调用接口,而且FILE结构体中是封装了文件描述符的。先认识后续会讲述原因。
其实我们是可以将我们缓冲区中的数据给刷新出来:
int main()
{
FILE* fp