write和fwrite的区别

write函数

int write(int handle,char *buf,unsigned len)

用法:write(文件句柄,缓冲区地址,缓冲区字节长度最大65534);

功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;

返回值:实际写入的字节数(不包括回车符),出错时返回-1。

头文件:io.h

fwrite函数

size_t fwrite ( void * ptr, size_t size, size_t count, FILE *fp );

对参数的说明:

ptr 为内存区块的指针,它可以是数组、变量、结构体等。fread() 中的 ptr 用来存放读取到的数据,fwrite() 中的 ptr 用来存放要写入的数据。

size:表示每个数据块的字节数。

count:表示要读写的数据块的块数。

fp:表示文件指针。

理论上,每次读写 size*count 个字节的数据。

size_t 是在 stdio.h 和 stdlib.h 头文件中使用 typedef 定义的数据类型,表示无符号整数,也即非负数,常用来表示数量。

返回值:返回成功读写的块数,也即 count。如果返回值小于 count:

对于 fwrite() 来说,肯定发生了写入错误,可以用 ferror() 函数检测。


版权声明:本文为qq_40378795原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。