C语言中,fwrite追加数据的两个方法

  在C/C++代码编写过程中,会遇到结果数据验证,数据保存的问题。

  对于几个数据的验证,直接打印就可以验证,如果输出数据成百上千个,就难以通过打印这种方式进行验证,只能保存为数据文件,再行分析。

  在C语言中,fwrite是对数据写入的函数,需要结合fopen函数来一起使用。二者结合起来,可以设置多种模式对文件进行读写:

fopen函数的读写方式为:

文件指针名 = fopen(文件名, 读写模式)

其中,读写模式有以下几种:r(读),w(写),b(二进制),+(读写),a(追加数据)
r: 文本读
rb: 读取二进制数据文件
w: 文本写入,只写
wb: 二进制写入,只写
wb: 二进制写入或读出
a: 追加写入数据,文本形式
ab: 追加写入数据,二进制形式

追加数据的两个方法:
(1)在w写模式下:第一次fopen文件时,会把文件清空,再写入新的数据,只要不关闭该文件,就一直可以向该文件追加写入数据,而且数据连续存储。


FILE *fp;
fp = fopen("data.dat", "wb");
fwrite(a, sizeof(float), 5, fp);  // 写入数组a
fwrite(b, sizeof(float), 5, fp);  // 追加数组b 
fclose(fp);

(2)使用a追加模式,fopen打开文件时会保留原始文件内容,并追加到末尾写入数据。


FILE *fp;
fp = fopen("data.dat", "wb");
fwrite(a, sizeof(float), 5, fp);  // 写入数组a
fclose(fp);

FILE *fpa;
fpa = fopen("data.dat", "ab");
fwrite(b, sizeof(float), 5, fpa);  // 追加数组b 
fclose(fpa);

你可能感兴趣的:(C/C++,信号处理,c语言,开发语言)