C 教程

C 教程 C 语言简介 C 下载安装和环境配置 C 快速入门 C 语法 C 输出 C 注释 C 变量 C 数据类型 C 常量 C 运算符 C 布尔值 C If...Else 语句 C Switch 语句 C While 循环 C For 循环 C Break/Continue 语句 C 数组 C 字符串 C 用户输入 C 内存地址 C 指针

C 函数

C 函数 C 函数参数 C 作用域 C 函数声明 C 递归 C 数学函数

C 文件

C 创建文件 C 写入文件 C 读取文件

C 结构体

C 结构体 C 嵌套结构体 C 结构体和指针 C 联合体 C typedef

C 枚举

C 枚举

C 内存

C 内存管理

C 错误

C 错误 C 调试 C 空值 C 错误处理 C 输入验证

C 更多

C 日期 C 随机数 C 宏 C 代码组织 C 存储类 C 位运算符 C 固定宽度整数

C 项目

C 项目

C 参考资料

C 参考资料 C 关键词 C <stdio.h> C <stdlib.h> C <string.h> C <math.h> C <ctype.h> C <time.h>

C 标准库参考

C 标准库 - 参考手册 C 标准库 - <assert.h> C 标准库 - <ctype.h> C 标准库 - <errno.h> C 标准库 - <float.h> C 标准库 - <limits.h> C 标准库 - <locale.h> C 标准库 - <math.h> C 标准库 - <setjmp.h> C 标准库 - <signal.h> C 标准库 - <stdarg.h> C 标准库 - <stddef.h> C 标准库 - <stdio.h> C 标准库 - <stdlib.h> C 标准库 - <string.h> C 标准库 - <time.h>

C 实例

C 语言实例 C 经典100例 C 编译器 C 测验


C stdio fprintf() 函数

❮ C stdio 库


示例

写入文件:

FILE *fptr;

// 以写入模式打开文件
fptr = fopen("filename.txt", "w");

// 向文件中写入一些文本
fprintf(fptr, "Some text");

// 关闭此文件
fclose(fptr);
亲自试一试 »

定义和用法

fprintf() 函数将格式化字符串写入文件。

fprintf() 函数定义在 <stdio.h> 头文件中。

格式说明符

format字符串可以包含格式说明符,用于描述传递给函数的其他参数的表示方式和位置。

格式说明符的格式为%[flags][width][.precision][length]specifier。方括号内的组成部分是可选的。

各组成部分的说明:

  • flags - 可选。以下任意字符的序列:
    • - - 将输出左对齐,方法是在右侧添加空格而不是左侧。
    • # - 根据转换方式显示格式化数据的另一种表示形式。
    • + - 使正数始终以"+"开头。
    • - (空格字符)这会在正数前添加一个空格,主要是为了使数字与负数的数字对齐。
    • 0 - 在数字左侧填充零。
  • width - 可选。一个整数,指定输出应占用的最小字符数。如有必要,会在右侧添加空格以达到此数字,如果使用 - 标志,则会在左侧添加空格。如果使用 * 星号,则宽度由其前面的参数指定。
  • .precision - 可选。一个 . 后跟一个整数,指示格式化数据中要显示的十进制数字位数。
  • length - 可选。一个字符序列,用于更改参数的预期数据类型。它可以是以下值之一:
    • hh - 整数应为 char 类型。
    • h - 整数应为 short int 类型。
    • l - 整数应为 long int 类型。
             字符应为 wint_t 类型。
             字符串应为 wchar_t* 类型。
    • ll - 整数类型为 long long int。
    • j - 整数类型为 intmax_t 或 uintmax_t。
    • z - 整数类型为 size_t。
    • t - 整数类型为 ptrdiff_t。
    • L - 浮点数类型为 long double。
  • specifier - 必填。用于指示参数数据表示方式的字符。下表列出了所有可能的字符。

参数说明符列表

字符 说明符 描述
d 或 i 十进制整数 用十进制整数表示一个整数。
u 无符号十进制整数 用无符号十进制整数表示一个整数。
o 八进制整数 将一个整数表示为八进制整数。"#"标志会在数字前加上"0"。
x 或 X 十六进制整数 将一个整数表示为十六进制整数。"#"标志会在数字前加上"0x"。如果使用"X",则数字 A 到 F 和字母 X 将显示为大写。
f 或 F 浮点数 表示一个浮点数。如果使用"F",则字母(例如"nan")将以大写形式表示。"#"标志会强制显示小数点,即使没有小数位。
e 或 E 科学计数法 以科学计数法表示一个浮点数。如果使用"E",则字母将以大写形式表示。"#"标志会强制显示小数点,即使没有小数位。
g 或 G 通用数 浮点数使用 f 和 e 之间的最短表示形式。如果使用"G",则改为在 F 和 E 之间选择。
a 或 A 十六进制浮点数 用十六进制数字写入浮点数的内部表示形式。如果使用"A",则数字以大写字母表示。
c 字符 表示一个字符。如果参数是整数,则表示该整数指定的 ASCII 值对应的字符。
s 字符串 表示一个字符串。
p 指针 表示指针的内存地址,通常以十六进制数字表示。
n 无输出(No output) 参数中写入文件的字符数为当前写入的字符数。该参数必须是指向整数的指针。
% 百分号 表示一个字面意义上的"%"字符。

有关如何使用格式说明符的各种示例,请参阅printf() 函数参考页面。


语法

fprintf(FILE * fptr, const char * format, arg1, arg2...);

参数值

参数 描述
fptr 必需。文件指针,通常由 fopen() 函数创建。
format 必需。表示要写入文件的数据格式的字符串。
arg1, arg2... 可选。任意数量的附加参数,其值可以通过 format 参数中的说明符进行格式化并写入文件。

技术细节

返回值: 一个int值,表示写入文件的字符数。如果发生错误,则返回负数。

❮ C stdio 库