Compartilhar via


printf, _printf_l, wprintf, _wprintf_l

Formatados saída de impressão para o fluxo de saída padrão.Versões mais seguros dessas funções estão disponíveis; consulte printf_s, _printf_s_l, wprintf_s, _wprintf_s_l.

int printf( const char *format [, argument]... ); int _printf_l( const char *format, locale_t locale [, argument]... ); int wprintf( const wchar_t *format [, argument]... ); int _wprintf_l( const wchar_t *format, locale_t locale [, argument]... );

Parâmetros

  • format
    Controle de formato.

  • argument
    Argumentos opcionais.

  • locale
    A localidade a ser usada.

Valor de retorno

Retorna o número de caracteres impressos, ou um valor negativo se ocorrer um erro.Se format é NULL, o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, a função retorna -1 e defina errno a EINVAL.Se EOF 0xFFFF () está localizado nos argument, a função retorna -1.

Para obter informações sobre errno e os códigos de erro, consulte _doserrno, errno, _sys_errlist, e _sys_nerr.

Comentários

A função de printf formata e imprime uma série de caracteres e de valores para o fluxo de saída padrão, stdout.Se os argumentos após a cadeia de caracteres de format , a cadeia de caracteres de format deve conter as especificações que determinam o formato de saída para os argumentos.printf e fprintf se comportam de forma idêntica exceto que grava a saída de printf da stdout em vez da um destino do tipo FILE.

wprintf é uma versão de largo- caractere de printf; format é uma cadeia de caracteres de largo- caractere.wprintf e printf se comportam de forma idêntica se o fluxo é aberta no modo ANSI.printf não tem suporte para a saída em um fluxo de UNICODE.

As versões dessas funções com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez de localidade atual da thread.

Mapeamentos da rotina de Genérico- texto

Rotina de TCHAR.H

_UNICODE & _MBCS não definidos

_MBCS definido

_unicode definido

_tprintf

printf

printf

wprintf

O argumento de format consiste de caracteres, em sequências de escape (e, se os argumentos seguem format) nas especificações comuns de formato.Os caracteres e as sequências de escape comuns são copiados para stdout por ordem de sua aparência.Por exemplo, a linha:

printf("Line one\n\t\tLine two\n"); 

produz saída:

Line one
        Line two

Especificações de formato começa com um sinal de porcentagem (%) e é ler sempre esquerda para a direita.Quando printf localizar a primeira especificação de formato (se houver), converte o valor do primeiro argumento após format e saída ele adequadamente.A segunda especificação de formato faz com que o segundo argumento a ser convertido e saída, e assim por diante.Se houver mais argumentos do que há especificações de formato, os argumentos adicionais são ignorados.Os resultados são indefinidos se não houver argumentos suficiente para todas as especificações de formato.

Observação de segurançaObservação de segurança

Certifique-se de que format não é uma cadeia de caracteres definida pelo usuário.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_tprintf

printf

printf

wprintf

_tprintf_l

_printf_l

_printf_l

_wprintf_l

Requisitos

Rotina

Cabeçalho necessário

printf, _printf_l

<stdio.h>

wprintf, _wprintf_l

<stdio.h> ou <wchar.h>

O console não é suportado em aplicativos de Windows Store .Identificadores padrões de fluxo associadas ao console, stdin, stdout, e stderr, devem ser redirecionada antes que as funções de tempo de execução das C pode usar em aplicativos de Windows Store .Para informações extras de compatibilidade Compatibilidade na introdução, consulte.

Exemplo

// crt_printf.c
// This program uses the printf and wprintf functions
// to produce formatted output.

#include <stdio.h>

int main( void )
{
   char     ch = 'h', 
            *string = "computer";
   wchar_t  wch = L'w', 
            *wstring = L"Unicode";
   int      count = -9234;
   double   fp = 251.7366;

   // Display integers
   printf( "Integer formats:\n"
           "   Decimal: %d  Justified: %.6d  "
           "Unsigned: %u\n",
           count, count, count, count );

   // Display decimals
   printf( "Decimal %d as:\n   Hex: %Xh  "
           "C hex: 0x%x  Octal: %o\n",
            count, count, count, count );

   // Display in different radixes
   printf( "Digits 10 equal:\n   Hex: %i  "
           "Octal: %i  Decimal: %i\n",
            0x10, 010, 10 );

   // Display characters
   printf("Characters in field (1):\n"
          "%10c%5hc%5C%5lc\n",
          ch, ch, wch, wch);
   wprintf(L"Characters in field (2):\n"
           L"%10C%5hc%5c%5lc\n",
           ch, ch, wch, wch);

   // Display strings
   printf("Strings in field (1):\n%25s\n"
          "%25.4hs\n   %S%25.3ls\n",
          string, string, wstring, wstring);
   wprintf(L"Strings in field (2):\n%25S\n"
           L"%25.4hs\n   %s%25.3ls\n",
           string, string, wstring, wstring);

   // Display real numbers
   printf("Real numbers:\n   %f %.2f %e %E\n",
          fp, fp, fp, fp );

   // Display pointer
   printf( "\nAddress as:   %p\n", &count);
}

A saída de exemplo

Integer formats:
   Decimal: -9234  Justified: -009234  Unsigned: 4294958062
Decimal -9234 as:
   Hex: FFFFDBEEh  C hex: 0xffffdbee  Octal: 37777755756
Digits 10 equal:
   Hex: 16  Octal: 8  Decimal: 10
Characters in field (1):
         h    h    w    w
Characters in field (2):
         h    h    w    w
Strings in field (1):
                 computer
                     comp
   Unicode                      Uni
Strings in field (2):
                 computer
                     comp
   Unicode                      Uni
Real numbers:
   251.736600 251.74 2.517366e+002 2.517366E+002

Address as:   0012FF3C

Equivalência do .NET Framework

Consulte também

Referência

Suporte de ponto flutuante

Fluxo de i/O

Localidade

fopen, _wfopen

_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l

scanf, _scanf_l, wscanf, _wscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

Funções vprintf

_set_output_format