fprintf函数是C语言中的一种非常重要的输出函数,它允许开发者按照指定的格式输出多种类型的数据到标准输出设备(通常是屏幕)。学会使用fprintf函数,可以帮助你更灵活地控制输出数据的格式,从而让程序输出更加直观、易读。
基本语法
fprintf的语法格式如下:
int fprintf(FILE *stream, const char *format, ...)
其中,stream是一个指向FILE对象的指针,表示输出目的地;format是一个格式字符串,包含两种元素:普通字符和格式占位符;最后的...代表可变数量的参数,用于填充格式占位符。
格式占位符
fprintf函数支持多种格式占位符,以下是一些常用的格式占位符及其作用:
| 格式占位符 | 作用 |
|---|---|
%d |
输出带符号的十进制整数 |
%f |
输出单精度浮点数(小数点后6位) |
%lf |
输出双精度浮点数(小数点后15位) |
%c |
输出一个字符 |
%s |
输出一个字符串 |
%p |
输出一个指针 |
%% |
输出百分号 % |
格式化输出示例
下面是一些使用fprintf函数的示例:
#include <stdio.h>
int main() {
int i = 100;
float f = 3.14159f;
char c = 'A';
char *str = "Hello, World!";
int *ptr = &i;
fprintf(stdout, "整数: %d\n", i); // 输出整数
fprintf(stdout, "浮点数: %f\n", f); // 输出浮点数
fprintf(stdout, "字符: %c\n", c); // 输出字符
fprintf(stdout, "字符串: %s\n", str); // 输出字符串
fprintf(stdout, "指针: %p\n", ptr); // 输出指针
fprintf(stdout, "指针内容: %d\n", *ptr); // 输出指针指向的内容
return 0;
}
进阶用法
- 宽度控制:使用
*指定输出宽度,例如%*d表示输出整数至少占据宽度为*指定值的列。
fprintf(stdout, "%*d\n", 10, i); // 输出整数i,宽度至少为10列
- 精度控制:对于浮点数,使用
.和数字指定精度,例如%.2f表示输出浮点数时保留两位小数。
fprintf(stdout, "%.2f\n", f); // 输出浮点数f,保留两位小数
- 左对齐/右对齐:使用
-指定左对齐,例如%-10s表示输出字符串时左对齐,占据宽度为10列。
fprintf(stdout, "%-10s\n", str); // 输出字符串str,左对齐,宽度为10列
通过掌握fprintf函数及其进阶用法,你可以轻松实现多种数据格式化输出,让你的C语言程序输出更加美观、易读。
