C stdio fprintf() 函数
示例
写入文件:
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值,表示写入文件的字符数。如果发生错误,则返回负数。 |
|---|

