Compartilhar via


Função FillConsoleOutputCharacter

Importante

Este documento descreve a funcionalidade da plataforma de console que não faz mais parte do nosso roteiro do ecossistema. Não recomendamos o uso desse conteúdo em novos produtos, mas continuaremos a oferecer suporte aos usos existentes por tempo indeterminado. Nossa solução moderna preferida se concentra em sequências de terminais virtuais para máxima compatibilidade em cenários multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento Console clássico versus terminal virtual.

Grava um caractere no buffer de tela do console um número especificado de vezes, começando nas coordenadas especificadas.

Sintaxe

BOOL WINAPI FillConsoleOutputCharacter(
  _In_  HANDLE  hConsoleOutput,
  _In_  TCHAR   cCharacter,
  _In_  DWORD   nLength,
  _In_  COORD   dwWriteCoord,
  _Out_ LPDWORD lpNumberOfCharsWritten
);

Parâmetros

hConsoleOutput [in]
Um identificador do buffer da tela do console. O identificador deve ter o direito de acesso GENERIC_WRITE. Para saber mais, confira Segurança de buffer e direitos de acesso do console.

cCaractere [in]
O caractere a ser gravado no buffer da tela do console.

nLength [in]
O número de células de caracteres nas quais o caractere deve ser gravado.

dwWriteCoord [in]
Uma estrutura COORD que especifica as coordenadas de caracteres da primeira célula na qual os caracteres serão gravados.

lpNumberOfCharsWritten [out]
Um ponteiro para uma variável que recebe o número de caracteres realmente gravados no buffer de tela do console.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se o número de caracteres para gravação se estender além do final da linha especificada no buffer de tela do console, os caracteres serão gravados na próxima linha. Se o número de caracteres para gravação se estender além do final do buffer de tela do console, os caracteres serão gravados até o final do buffer de tela do console.

Os valores de atributos nas posições gravadas não são alterados.

Essa função usa caracteres Unicode ou caracteres de 8 bits da página de código atual do console. O padrão da página de código do console inicialmente é a página de código OEM do sistema. Para alterar a página de código do console, use as funções SetConsoleCP ou SetConsoleOutputCP. Os consumidores herdados também podem usar os comandos chcp ou mode con cp select=, mas eles não são recomendados para novos desenvolvimentos.

Dica

Essa API não é recomendada e não tem um equivalente específico de terminal virtual. O preenchimento da região fora da janela visível não é suportado e é reservado para o espaço do histórico do terminal. O preenchimento de uma região visível com novo texto ou cor é realizado pelomovimento do cursor, pela definição dos novos atributos e, em seguida, pela escrita do texto desejado para essa região, repetindo caracteres, se necessário, para a duração da execução do preenchimento. Pode ser necessário um movimento adicional do cursor seguido da escrita do texto desejado para preencher uma região retangular. Espera-se que o aplicativo cliente mantenha sua própria memória do que está na tela. Ele não pode consultar o estado remoto. Mais informações podem ser encontradas na documentação do console clássico versus terminal virtual.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos para desktop]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho ConsoleApi2.h (via WinCon.h, inclui o Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll
Nomes Unicode e ANSI FillConsoleOutputCharacterW (Unicode) e FillConsoleOutputCharacterA (ANSI)

Confira também

Funções de Console

COORD

FillConsoleOutputAttribute

Funções de saída do console de baixo nível

SetConsoleCP

SetConsoleOutputCP

WriteConsoleOutputCharacter