fwrite,C语言函数,向文件写入一个数据块。函数写入文件(可安全用于二进制文件)。把string的内容写入文件指针file处。如果指定了length,当写入了length个字节或者写完了string以后,写入就会停止,视乎先碰到哪种情况。fwrite()返回写入的字符数,出现错误时则返回false。
fwrite函数——fwrite函数主要用法
size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream);
注意:这个函数以二进制形式对文件进行操作,不局限于文本文件
返回值:返回实际写入的数据块数目
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入内容的单字节数;
(3)count:要进行写入size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回实际写入的数据项个数count。
说明:写入到文件的哪里?这个与文件的打开模式有关,如果是w+,则是从filepointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。
fseek对此函数有作用,但是fwrite函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE*fp)函数同步。
C/C++文件读写fread和fwrite函数的使用
C/C++中可使用fread和fwrite函数用于读取和写入数据到文件中,具体形式如下:
//读取文件块数据
size_tfread(void*buffer,size_tsize,size_tcount,FILE*file);
//写入文件块数据
size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*file);
fread参数说明:buffer是读取数据后存放地址,size是的块长度,count是块的数量,实际读取长度为size*count,返回值为块成功读取块的count数量。
fwrite参数说明:buffer是写入数据后存放地址,size是的块长度,count是块的数量,实际读取长度为size*count,返回值为块成功写入快的count数量。
上面的例子是让用户输入三只宠物猫的数据,并保存到文档中,然后再将文档中的数据读出。例子中fopen较常用的是r模式和a模式,一般用r+或a+表示可读写的文本,若以二进制模式打开则为rb+或ab+;w会清空文档所有内容。如果大家还想了解更多与之有关的信息,欢迎关注我们优词网的官网。