添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

C++ fprintf() 格式化输出到文件

fprintf() 原型

int fprintf(FILE* stream, const char* format, ...);

fprintf() 函数将由 format 指向的字符串写入流 stream 。字符串 format 可能包含以 % 开始的格式说明符,这些格式说明符被传递给 fprintf() 函数作为额外参数的变量值替换。

它定义在 <cstdio> 头文件中。

fprintf() 参数

stream :指向输出文件流的指针,内容将写入该流。

format :指向以空字符结尾的字符串的指针,该字符串被写入文件流。它由字符组成,包括可选的以 % 开始的格式说明符。 格式说明符由相应变量的值替换,这些变量紧随格式字符串之后。 格式说明符包括以下部分:

前导的 % 符号

Flags :可选的一个或多个标志,修改转换行为。

  • - :在字段内左对齐结果。默认为右对齐。
  • + :结果的符号附加在值的开头,即使是正结果。
  • 空格:如果没有符号,结果的开头附加一个空格。
  • # :执行转换的替代形式。
  • 0 :用于整数和浮点数。使用前导零而不是空格填充数字。
  • Width :可选的下划线或整数值,用于指定最小宽度字段。 Precision :可选字段,由 . 后跟下划线或整数或不指定,用于指定精度。 Length :可选长度修饰符,指定参数的大小。 Specifier :转换格式说明符。可用的格式说明符如下:

    格式说明符 描述
    % 打印 %
    c 写入单个字符
    s 写入字符字符串
    d 或 i 将有符号整数转换为十进制表示
    o 将无符号整数转换为八进制表示
    X 或 x 将无符号整数转换为十六进制表示
    u 将无符号整数转换为十进制表示
    F 或 f 将浮点数转换为十进制表示
    E 或 e 将浮点数转换为十进制指数记法
    A 或 a 将浮点数转换为十六进制指数记法
    G 或 g 将浮点数转换为十进制或十进制指数记法
    n 返回此次函数调用到目前为止写入的字符数。结果写入参数指向的值中
    p 写入实现定义的字符序列,定义一个指针。

    因此,格式说明符的一般格式为: %[flags][width][.precision][length]specifier

    : 其他额外参数,指定要打印的数据。它们按照格式说明符的顺序出现。

    fprintf() 返回值

    成功时, fprintf() 函数返回写入的字符数。失败时返回负值。