C对二进制文件 *** 作

C对二进制文件 *** 作,第1张

C对二进制文件读写 *** 作,可以用fread函数和fwrite函数实现;

1.函数功能

用来读写一个数据块。

2.一般调用形式

fread(buffer,size,count,fp)

fwrite(buffer,size,count,fp)

3.说明

(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。

(2)size:要读写的字节数;

(3)count:要进行读写多少个size字节的数据项;

(4)fp:文件型指针。

注意:1 完成次写 *** (fwrite())作后必须关闭流(fclose())

2 完成一次读 *** 作(fread())后,如果没有关闭流(fclose()),则指针(FILE * fp)自动向后移动前一次读写的长度,不关闭流继续下一次读 *** 作则接着上次的输出继续输出

3 fprintf() : 按格式输入到流,其原型是int fprintf(FILE *stream, const char *format[, argument, ...])其用法和printf()相同,不过不是写到控制台,而是写到流罢了。

注意的是返回值为此次 *** 作写入到文件的字节数。如int c = fprintf(fp, "%s %s %d %f", str1,str2, a, b) str1:10字节;str2: 10字节;a:2字节;b:8字节,c为33,因为写入时不同的数据间自动加入一个空格。

步骤如下:

1、数据流:程序与数据间的交互是以流的形式进行。在C语言文件存取时,打开文件 *** 作,关闭数据流。

2、缓冲区:程序执行时,提供的额外内存以暂时存放数据。缓冲区作用是为了提高存取效率,内存的存取速度比磁盘快。

3、文件类型:分为文本文件和二进制文件两种。

补充:

1、文本文件:字符编码的方式进行保存。

2、二进制文件:内存中的数据原封不动至文件中,适用于非字符为主的数据。

C语言中二进制文件的读取要用fread和fwrite来实现。 fwrite()与fprintf()是不同的。 fwrite将写入的数据作为文件的磁盘内容保存。fprintf将写入的数据的每个字符所对应的ASCII码作为文件的磁盘内容保存。fprintf做了一个转换的工作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7957437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存