C ++ vwprintf () - Biblioteca C ++ padrão

A função vwprintf () em C ++ é usada para gravar uma string ampla formatada em stdout.

A função vwprintf () é definida no arquivo de cabeçalho.

protótipo vwprintf ()

 int vwprintf (formato const wchar_t *, vlist va_list);

A função vwprintf () grava a string larga apontada por format em stdout. O formato de string largo pode conter especificadores de formato começando com%, que são substituídos pelos valores das variáveis ​​que são passadas como uma lista vlist.

Parâmetros vwprintf ()

  • formato: um ponteiro para uma string larga terminada em nulo que é gravada em stdout. Consiste em caracteres junto com especificadores de formato opcionais começando com%. Os especificadores de formato são substituídos pelos valores das respectivas variáveis ​​que seguem o formato.
    O especificador de formato tem as seguintes partes:
    • Um sinal% principal
    • Sinalizadores: um ou mais sinalizadores opcionais que modificam o comportamento de conversão.
      • -: Justificar à esquerda o resultado dentro do campo. Por padrão, é justificado à direita.
      • +: O sinal do resultado é anexado ao início do valor, mesmo para resultados positivos.
      • Espaço: Se não houver sinal, um espaço é anexado ao início do resultado.
      • #: Uma forma alternativa de conversão é executada.
      • 0: é usado para números inteiros e em ponto flutuante. Os zeros à esquerda são usados ​​para preencher os números em vez de espaço.
    • Largura: Um valor opcional * ou inteiro usado para especificar o campo de largura mínima.
    • Precisão: um campo opcional que consiste em a. seguido por * ou inteiro ou nada para especificar a precisão.
    • Comprimento: um modificador de comprimento opcional que especifica o tamanho do argumento.
    • Especificador: um especificador de formato de conversão. Os especificadores de formato disponíveis são os seguintes:
    Especificadores de formato
    Especificador de formato Descrição
    % Imprime%
    c Escreve um único personagem
    s Escreve uma string de caracteres
    d ou i Converte um inteiro com sinal em representação decimal
    o Converte um inteiro sem sinal em representação octal
    X ou x Converte um inteiro sem sinal em representação hexadecimal
    você Converte um inteiro sem sinal em representação decimal
    F ou F Converte o número de ponto flutuante em representação decimal
    E ou e Converte o número de ponto flutuante em notação de expoente decimal
    A ou a Converte o número de ponto flutuante em expoente hexadecimal
    G ou g Converte o número de ponto flutuante em notação de expoente decimal ou decimal
    n Retorna o número de caracteres escritos até agora por esta chamada para a função. O resultado é escrito no valor apontado pelo argumento
    p Grava uma sequência de caracteres definida pela implementação definindo um ponteiro.

    Portanto, o formato geral do especificador de formato é:
     Especificador% (sinalizadores) (largura) (. precisão) (comprimento)
  • vlist: uma lista de argumentos contendo os dados a serem impressos.

vwprintf () Valor de retorno

  • Se for bem-sucedido, a função vwprintf () retorna o número de caracteres largos escritos.
  • Em caso de falha, ele retorna um valor negativo.

Exemplo: Como funciona a função vwprintf ()?

 #include #include #include void write(const wchar_t *fmt,… ) ( va_list args; va_start(args, fmt); vwprintf(fmt, args); va_end(args); ) int main () ( wchar_t desc(5)(10) = (L"Eta",L"Theta",L"Iota",L"Kappa",L"Lamda"); int x = 0; setlocale(LC_ALL, "en_US.UTF-8"); wprintf(L"Some Greek Letters"); for (wchar_t i=L'u03b7'; i<=L'u03bb'; i++) ( write(L"%ls : %lc", desc(x), i); x++; ) return 0; )

Quando você executa o programa, a saída será:

 Algumas letras gregas Eta: η Theta: θ Iota: ι Kappa: κ Lamda: λ

Artigos interessantes...