桓楠百科网

编程知识、经典语录与百科知识分享平台

C语言入门:将数据写到文件里保存—利用系统函数fprintf()

C语言编程入门:将数据写到文件里保存—利用系统函数fprintf()

文件可以用来保存输入的信息。

昨天说了文件读写的四个步骤:

第1步:定义文件指针;

第2步:打开文件;

第3步:文件读写;

第4步:关闭文件(保存数据到文件)。

今天主要讲第3步,用几个例子来说明怎样进行文件的操作。

今天主要讲写文件,即将数据写到文件里保存。

我们这里只讲文本文件的读写,二进制文件不讲。

我们都知道输入函数scanf( )和输出函数printf( )。

输出函数printf( )的功能是将数据输出到标准输出设备,如电脑显示器就是标准输出设备。

同理,输入函数scanf( )的功能是将数据从标准输入设备读到电脑里,如键盘就是标准输入设备。

我们来看一个例子。

程序1:

上述程序很简单,从键盘输入三个整数分别赋值给变量a、b、c,然后输出a、b、c的值在显示器上。

运行结果:

输入10 20 30,则输出10 20 30。

那么如果我们要把这三个整数10、20和30输出到文件(而不是输出到显示器),怎么实现呢?

有一个函数和printf( )函数很像,叫fprintf( ),这个函数的功能是将数据写到文件里,即保存数据到文件。

fprintf( )的语法格式:

fprintf(文件指针,“输出信息”);

如果输入信息中有格式控制符如%d、%f、%c、%s的,那么语法格式如下:

fprintf(文件指针,“输出信息”,变量表);

比如我们要保存刚才输入的数据,程序如下:

程序2:

程序2中定义了一个文件指针fp,然后用open()打开文件,打开方式为”w”,w就是写的意思(write)。

用”w”的方式开发文件,如果该文件不存在,则创建这个文件。

如果这个文件已经存在,则文件内容会被清空,写入新的内容。

运行结果和程序1一样,但是在和这个程序在同一个文件夹里多了一个文件,文件名为AAA.txt。

打开这个文件,可以看到文件内容就是三个整数:10 20 30。

一开始这个文件并不存在,所以自动创建了一个新文件,文件内容就是fprintf()里写进去的内容。

如果我再执行以此程序2,输入的内容不是10 20 30,而是100 200 300,运行结果为:

我们再打开文件AAA.txt,则文件内容变成: 100 200 300。

可能有朋友说怎么一写文件,文件原有的内容就清空了?

因为你是用“w”的方式打开文件。

如果不想清空文件原有内容,而是将新的数据追加到原文件末尾,怎么处理呢?

打开方式改成:“aw”。

a是追加(append)的意思,w是写(write)的意思。

用“aw”方式打开文件,若该文件不存在,则新创建文件,写入数据;

若该文件存在,则文件原有内容不会清空,新内容追加在原有内容的后面。

即第一次运行程序输入10 20 30,写到文件,文件内容为10 20 30。

第二次运行程序输入100 200 300,写到文件,文件内容此时变成两行:

10 20 30

100 200 300

程序3:

此时如果输入三个整数1 2 3。

则打开文件AAA.txt,内容如下:

这是因为刚才文件AAA.txt的内容是100 200 300,而这次输入数据为1 2 3,那么这三个整数1 2 3就放到了100 200 300后面。

因为输出函数fprintf( )的输出信息中有\n换行,所以新的内容也是从新的一行写入的。

4 总结

今天介绍了文件输出函数fprintf( )。

fprintf( )的语法格式:

fprintf(文件指针,“输出信息”);

如果输入信息中有格式控制符如%d、%f、%c、%s的,那么语法格式如下:

fprintf(文件指针,“输出信息”,变量表);

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言