首页系统fwrite函数和fprintf c语言中fwrite函数的用法

fwrite函数和fprintf c语言中fwrite函数的用法

编程之家2024-02-2193次浏览

一、fwrite和fprintf的区别

fwrite和fprintf都是C语言中用于文件操作的函数,但有一些区别:

fwrite函数和fprintf c语言中fwrite函数的用法

1.参数类型:fwrite的参数类型是void*,表示要写入的数据的地址;fprintf的参数类型是constchar*,表示要写入的格式化字符串。

2.写入方式:fwrite将二进制数据写入文件,不会进行格式化处理;fprintf将格式化的字符串写入文件,可以指定输出格式。

3.返回值:fwrite返回写入的元素数量;fprintf返回成功写入的字符数。

4.写入位置:fwrite写入的位置由文件指针指定,每次写入后文件指针会自动向后移动;fprintf按照文件流的当前位置进行写入,每次写入后文件指针不会移动,下次写入会继续在当前位置写入。

5.使用场景:fwrite适用于处理二进制文件,如图片、音频等;fprintf适用于处理文本文件,如日志、配置文件等。

总的来说,fwrite适用于处理二进制数据,而fprintf适用于处理文本数据。

fwrite函数和fprintf c语言中fwrite函数的用法

二、fwrite和fflush区别

fwrite是C语言函数,指向文件写入一个数据块。如成功执行则返回实际写入的数据块数目。该函数以二进制形式对文件进行操作,不局限于文本文件。

fflush是一个计算机函数,功能是冲洗流中的信息,该函数通常用于处理磁盘文件。fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。

三、fprintf和fwrite的区别

fprintf(fp,"%d",buffer);是将格式化的数据写入文件

fprintf(文件指针,格式字符串,输出表列);

fwrite(&buffer,sizeof(int),1,fp);是以二进位方式写入文件

fwrite(数据,数据类型大小(字节数),写入数据的最大数量,文件指针);

fwrite函数和fprintf c语言中fwrite函数的用法

由于fprintf写入时,对于整数来说,一位占一个字节,比如1,占1个字节;10,占2个字节;100,占3个字节,10000,占5个字节

所以文件的大小会随数据的大小而改变,对大数据空间占用很大。

而fwrite是按二进制写入,所以写入数据所占空间是根据数据类型来确定,比如int的大小为4个字节(一般32位下),那么整数10所占空间为4个字节,100、10000所占空间也是4个字节。所以二进制写入比格式化写入更省空间。

chm是什么格式 用什么打开chm文件32位系统,51虚拟机32位专版