Função vfprintf

A função vfprintf grava uma string, formatada de acordo com os especificadores, em um fluxo de arquivo. O primeiro parâmetro aceita um recurso de arquivo, o segundo - uma string de formato, o terceiro - um array de argumentos para substituição. Na string de formato são usados caracteres especiais (especificadores de formato), que começam com o sinal % e controlam a formatação da saída.

Sintaxe

phpvfprintf(resource $handle, string $format, array $args): int

Especificadores de formato

Especificador Descrição
%s String
%d Número inteiro com sinal (decimal)
%u Número inteiro sem sinal (decimal)
%f Número de ponto flutuante (dependente da localidade)
%F Número de ponto flutuante (não dependente da localidade)
%c Caractere por código ASCII
%x Número inteiro em sistema hexadecimal (minúsculas)
%X Número inteiro em sistema hexadecimal (maiúsculas)
%o Número inteiro em sistema octal
%b Número inteiro em sistema binário
%e Notação científica (minúsculas)
%E Notação científica (maiúsculas)
%g Formato curto %e ou %f
%G Formato curto %E ou %F
%% Sinal de porcentagem

Exemplo

Gravação de string formatada em arquivo:

php<?php
  $file = fopen('output.txt', 'w');
  $values = [10, 20.5, 'test'];
  vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
  fclose($file);
?>

Conteúdo do arquivo output.txt:

php'Number: 10, Float: 20.50, String: test'

Exemplo

Uso de diferentes especificadores:

php<?php
  $res = fopen('php://output', 'w');
  $data = [15, 12.3456, 'ABCDE'];
  vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
  fclose($res);
?>

Resultado da saída:

php'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''

Veja também

  • a função fprintf,
    que formata uma string e grava em um fluxo
  • a função sprintf,
    que retorna uma string formatada
  • a função vsprintf,
    que funciona como sprintf, mas aceita um array de argumentos