上一节,我们学会了打开文件之后,如果打开模式是写,那么可以用fprintf函数来进行写,下面来介绍fprintf函数,它的原型是:

int fprintf (FILE* stream, const char*format, [argument])


该函数是一个格式化写入的库函数,可以看到,除了长得和printf函数很像以外,参数也非常像,多了一个第一个参数文件指针,即第一步打开文件时得到的文件指针,后面的参数和printf一样,按照指定的格式将数据写入文件。例如:

fprintf(fp,"%s","www.dotcpp.com");

这句代码的意思是将字符串"www.dotcpp.com"以%s的格式写入fp所指向的文件中。


控制符作用
%c字符
%d 或 %i有符号十进制整数
%e使用 e 字符的科学科学记数法(尾数和指数)
%E使用 E 字符的科学科学记数法(尾数和指数)
%f十进制浮点数
%g自动选择 %e 或 %f 中合适的表示法
%G自动选择 %E 或 %f 中合适的表示法
%o有符号八进制
%s字符的字符串
%u无符号十进制整数
%x无符号十六进制整数
%X无符号十六进制整数(大写字母)
%p指针地址
%n
无输出
%字符


更多的格式可以参照printf的用法中的格式,可以通用。

而返回值为整型,如果写入成功则返回写入字符的格式,否则返回一个负数


需要注意理解的是,fprintf函数虽然和printf函数很像,表示输出,但准确说是是写入的意思,是指程序向文件里写,要清楚数据的流向。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)