Função WriteConsoleOutputCharacter
Importante
Este documento descreve a funcionalidade da plataforma do console que não faz mais parte do nosso roteiro de 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 de multiplataforma. Você pode encontrar mais informações sobre essa decisão de design em nosso documento Console clássico versus terminal virtual.
Copia um número de caracteres para células consecutivas de um buffer de tela do console, começando em um local especificado.
Sintaxe
BOOL WINAPI WriteConsoleOutputCharacter(
_In_ HANDLE hConsoleOutput,
_In_ LPCTSTR lpCharacter,
_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.
lpCharacter [entrada]
Os caracteres a serem gravados no buffer da tela do console.
nLength [entrada]
O número de caracteres a serem gravados.
dwWriteCoord [entrada]
Uma estrutura COORD que especifica as coordenadas de caracteres da primeira célula no buffer de tela do console no qual os caracteres serão gravados.
lpNumberOfCharsWritten [saída]
Um ponteiro para uma variável que recebe o número de caracteres de fato gravados.
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 a serem gravados 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 a serem gravados 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 tem um terminal virtual equivalente nas sequeências de formatação de texto e posicionamento do cursor. Mova o cursor para o local a ser inserido, aplique a formatação desejada e escreva o texto para preencher. Não há equivalente para emitir texto para uma área sem também aplicar formatação de cor ativa. Essa decisão intencionalmente alinha a plataforma do Windows com outros sistemas operacionais nos quais se espera que o aplicativo cliente individual se lembre do seu próprio estado desenhado para manipulação posterior.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
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 | WriteConsoleOutputCharacterW (Unicode) e WriteConsoleOutputCharacterA (ANSI) |