时间:2021-05-19
C语言setbuf()函数:把缓冲区与流相关联
头文件:
函数setbuf()用于将指定缓冲区与特定的文件流相关联,实现操作缓冲区时直接操作文件流的功能。其原型如下:
【参数】stream为文件流指针,buf为缓冲区的起始地址。
如果参数buf 为NULL 指针,则为无缓冲,setbuf()相当于调用setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZE)。
说明:在打开文件流后,读取内容之前,可以调用setbuf()来设置文件流的缓冲区(而且必须是这样)。
【实例】观察缓冲区与流关联后的影响。
输出结果:
程序先把outbuf与输出流相连,然后输出一个字符串,这时因为缓冲区已经与流相连,所以outbuf中也保存着这个字符串,紧接着puts函数又输出一遍,所以现在outbuf中保存着两个一样的字符串。刷新输出流之后,再次puts,则又输出两个字符串。
C语言setvbuf()函数:设置文件流的缓冲区
头文件:
函数setvbuf()用来设定文件流的缓冲区,其原型为:
【参数】stream为文件流指针,buf为缓冲区首地址,type为缓冲区类型,size为缓冲区内字节的数量。
参数类型type说明如下:
【返回值】成功返回0,失败返回非0。
该函数涉及流和缓冲区的知识,请参考C语言流和缓冲区(缓存)专题。
如果您只是想简单的操作缓冲区,还可以使用setbuf()函数,请查看:C语言setbuf()函数
setbuf()和setvbuf()函数的实际意义在于:用户打开一个文件后,可以建立自己的文件缓冲区,而不必使用fopen()函数打开文件时设定的默认缓冲区。这样就可以让用户自己来控制缓冲区,包括改变缓冲区大小、定时刷新缓冲区、改变缓冲区类型、删除流中默认的缓冲区、为不带缓冲区的流开辟缓冲区等。
说明:在打开文件流后,读取内容之前,调用setvbuf()可以用来设置文件流的缓冲区(而且必须是这样)。
【实例】为文件设置特殊类型缓冲区。
运行结果:
程序先打开两个文件,分别设置缓冲区,根据返回值判定是否成功,最后使用fclose函数关闭这两个文件。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言中memcpy函数的用法详解memcpy(内存拷贝函数)c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n
C语言中没有函数重载C++语言中有函数重载函数名相同,参数个数不同、参数类型不同、参数顺序不同例如下面就是函数重载voidsum(inta,intb){cout
c语言中一个函数由函数首部和函数体组成,函数体是编程语言中定义一个函数功能的所有代码组成的整体;函数头是指函数体之前的所有部分,应用于数学、程序设计领域,作用是
在C语言中feof函数用来判断是否到达文件的末尾。如果要使用此函数必须引入stdio.h头文件。函数形式:intfeof(FILE*stream);函数返回值:
该函数在C语言中用来关闭打开的文件,并清空缓冲区。如果要使用该函数,必须引入stdio.h头文件。函数形式:intfclose(FILE*stream);函数功