上一节,我们学会了打开文件之后,如果打开模式是写,那么可以用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函数很像,表示输出,但准确说是是写入的意思,是指程序向文件里写,要清楚数据的流向。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程