Funções vprintf
Cada o vprintf funções leva um ponteiro para um argumento listar, e, em seguida, formata e grava os dados fornecidos para um determinado destino. As funções são diferentes em realizada a validação de parâmetros, se as funções sejam ampla ou seqüências de caractere de byte único, o destino de saída e o suporte para especificar a ordem na qual os parâmetros são usados na seqüência de caractere de formato.
Comentários
The vprintf funções são semelhantes às suas funções de contraparte sistema autônomo listados na tabela a seguir. No entanto, cada vprintf função aceita um ponteiro para uma lista de argumentos, enquanto que cada uma das funções representante aceita uma lista de argumentos.
Essas funções formatar dados de saída para destinos sistema autônomo segue.
Função |
Função do representante |
Destino de saída |
Validação de parâmetro |
Suporte de parâmetro posicional |
---|---|---|---|---|
_vcprintf |
Console |
Verifique se há nulo. |
não |
|
_vcwprintf |
Console |
Verifique se há nulo. |
não |
|
vfprintf |
Fluxo |
Verifique se há nulo. |
não |
|
vfprintf_p |
Fluxo |
Verifique se formato nulo e é válido. |
Sim |
|
vfprintf_s |
Fluxo |
Verifique se formato nulo e é válido. |
não |
|
vfwprintf |
Fluxo |
Verifique se há nulo. |
não |
|
vfwprintf_p |
Fluxo |
Verifique se formato nulo e é válido. |
Sim |
|
vfwprintf_s |
Fluxo |
Verifique se formato nulo e é válido. |
não |
|
vprintf |
Stdout |
Verifique se há nulo. |
não |
|
vprintf_p |
Stdout |
Verifique se formato nulo e é válido. |
Sim |
|
vprintf_s |
Stdout |
Verifique se formato nulo e é válido. |
não |
|
vwprintf |
Stdout |
Verifique se há nulo. |
não |
|
vwprintf_p |
Stdout |
Verifique se formato nulo e é válido. |
Sim |
|
vwprintf_s |
Stdout |
Verifique se formato nulo e é válido. |
não |
|
vsprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
|
vsprintf_p |
memória apontada por buffer |
Verifique se formato nulo e é válido. |
Sim |
|
vsprintf_s |
memória apontada por buffer |
Verifique se formato nulo e é válido. |
não |
|
vswprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
|
vswprintf_p |
memória apontada por buffer |
Verifique se formato nulo e é válido. |
Sim |
|
vswprintf_s |
memória apontada por buffer |
Verifique se formato nulo e é válido. |
não |
|
_vscprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
|
_vscwprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
|
_vsnprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
|
_vsnwprintf |
memória apontada por buffer |
Verifique se há nulo. |
não |
The argptr argumento tem tipo va_list, que é definido em VARARGS.H e STDARG.H. The argptr variável deve ser inicializado por va_start, e pode ser reinicializada por subseqüentes va_arg chamadas; argptr aponta para o início de uma lista de argumentos que são convertidos e transmitidas a saída de acordo com as especificações correspondentes das formato argumento.formato h sistema autônomo do mesmo formulário e funcione sistema autônomo o formato argumento printf.Nenhuma dessas funções invoca va_end. Para obter uma descrição mais completa de cada vprintf função, consulte a descrição de sua função correspondente, conforme listados na tabela anterior.
_vsnprintf é diferente de vsprintf que grava no máximo Contagem bytes to buffer.
As versões dessas funções com o w infix no nome são versões de caractere largo das funções correspondentes sem o w infix; em cada uma dessas funções de caractere largo, buffer and formato são seqüências de caracteres largos.Caso contrário, cada função de caractere largo se comporta exatamente a função de contraparte SBCS.
As versões dessas funções com _s and _p sufixos são as versões mais seguras.Essas versões validar as seqüências de caracteres de formato e gerarão uma exceção se a seqüência de caracteres de formato não estiverem bem formada (por exemplo, se é usado caracteres de formatação inválido).
As versões dessas funções com o _p sufixo oferecer a capacidade de especificar a ordem em que os argumentos fornecidos são substituídos na seqüência de caracteres de formato.For more information, see printf_p posicional parâmetros.
For vsprintf, vswprintf, _vsnprintf e _vsnwprintf, se ocorrer copiando entre cadeias de caracteres que se sobrepõem, o comportamento é indefinido.
Observação de segurança: |
---|
Certifique-se de que formato não é uma seqüência de caracteres definida pelo usuário.Para obter mais informações, consulte Evitar saturações de buffer.Se usando as versões seguras dessas funções (ambos o _s or _p sufixos), uma seqüência de caracteres de formato fornecido pelo usuário poderia acionar uma exceção de parâmetro inválido se a seqüência de caracteres fornecida pelo usuário contém caracteres de formatação inválido. |
Consulte também
Referência
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l