zoukankan      html  css  js  c++  java
  • PHP vfprintf() 函数

    实例

    把一些文本写入到名为 "test.txt" 的文本文件:

    <?php高佣联盟 www.cgewang.com
    $number = 9;
    $str = "Beijing";
    $file = fopen("test.txt","w");
    echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str));
    ?>

    上面的代码将输出:

    40

    下面的文本将被写入到文件 "test.txt":

    There are 9 million bicycles in Beijing.

    定义和用法

    vfprintf() 函数把格式化的字符串写到指定的输出流(例如:文件或数据库)。

    与 fprintf() 不同,vfprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。

    注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "$" 组成。请参见实例 2。

    提示:相关函数:fprintf()、 printf()、 sprintf()、vprintf() 和 vsprintf()


    语法

    vfprintf(stream,format,argarray)
    参数描述
    stream 必需。规定在哪里写入/输出字符串。
    format 必需。规定字符串以及如何格式化其中的变量。

    可能的格式值:

    • %% - 返回一个百分号 %
    • %b - 二进制数
    • %c - ASCII 值对应的字符
    • %d - 包含正负号的十进制数(负数、0、正数)
    • %e - 使用小写的科学计数法(例如 1.2e+2)
    • %E - 使用大写的科学计数法(例如 1.2E+2)
    • %u - 不包含正负号的十进制数(大于等于 0)
    • %f - 浮点数(本地设置)
    • %F - 浮点数(非本地设置)
    • %g - 较短的 %e 和 %f
    • %G - 较短的 %E 和 %f
    • %o - 八进制数
    • %s - 字符串
    • %x - 十六进制数(小写字母)
    • %X - 十六进制数(大写字母)

    附加的格式值。必需放置在 % 和字母之间(例如 %.2f):

    • + (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
    • ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
    • - (左调整变量值)
    • [0-9] (规定变量值的最小宽度)
    • .[0-9] (规定小数位数或最大字符串长度)

    注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。

    argarray 必需。带有参数的一个数组,这些参数会被插到 format 字符串中的 % 符号处。

    技术细节

    返回值: 返回被写的字符串的长度。
    PHP 版本: 5+

    更多实例

    实例 1

    把一些文本写入到文件中:

    <?php
    $num1 = 123;
    $num2 = 456;
    $file = fopen("test.txt","w");
    vfprintf($file,"%f%f",array($num1,$num2));
    ?>

    下面的文本将被写入到文件 "test.txt":

    123.000000456.000000

    实例 2

    使用占位符:

    <?php
    $number = 123;
    $file = fopen("test.txt","w");
    vfprintf($file,"With 2 decimals: %1$.2f
    nWith no decimals: %1$u",array($number));
    ?>

    下面的文本将被写入到文件 "test.txt":

    With 2 decimals: 123.00
    With no decimals: 123

    实例 3

    使用 printf() 来演示所有可能的格式值:

    <?php
    $num1 = 123456789;
    $num2 = -123456789;
    $char = 50; // The ASCII Character 50 is 2

    // Note: The format value "%%" returns a percent sign
    printf("%%b = %b <br>",$num1); // Binary number
    printf("%%c = %c <br>",$char); // The ASCII Character
    printf("%%d = %d <br>",$num1); // Signed decimal number
    printf("%%d = %d <br>",$num2); // Signed decimal number
    printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
    printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
    printf("%%u = %u <br>",$num1); // Unsigned decimal number (positive)
    printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
    printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
    printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
    printf("%%g = %g <br>",$num1); // Shorter of %e and %f
    printf("%%G = %G <br>",$num1); // Shorter of %E and %f
    printf("%%o = %o <br>",$num1); // Octal number
    printf("%%s = %s <br>",$num1); // String
    printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
    printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
    printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
    printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
    ?>
  • 相关阅读:
    hdu 4027 Can you answer these queries? 线段树
    ZOJ1610 Count the Colors 线段树
    poj 2528 Mayor's posters 离散化 线段树
    hdu 1599 find the mincost route floyd求最小环
    POJ 2686 Traveling by Stagecoach 状压DP
    POJ 1990 MooFest 树状数组
    POJ 2955 Brackets 区间DP
    lightoj 1422 Halloween Costumes 区间DP
    模板 有源汇上下界最小流 loj117
    模板 有源汇上下界最大流 loj116
  • 原文地址:https://www.cnblogs.com/yc10086/p/13143310.html
Copyright © 2011-2022 走看看