Fonction FillConsoleOutputCharacter
Important
Ce document décrit les fonctionnalités de la plateforme de la console qui ne font plus partie de la feuille de route de notre écosystème. Nous vous déconseillons d’utiliser ce contenu dans de nouveaux produits, mais nous continuerons à prendre en charge des utilisations existantes pour l’avenir indéterminé. Notre solution moderne préférée se concentre sur les séquences de terminaux virtuels pour une compatibilité maximale dans les scénarios multiplateformes. Vous trouverez plus d’informations sur cette décision de conception dans notre document sur les consoles classiques et les terminaux virtuels.
Écrit un caractère dans la mémoire tampon de l’écran de la console un nombre spécifié de fois, en commençant par les coordonnées spécifiées.
Syntaxe
BOOL WINAPI FillConsoleOutputCharacter(
_In_ HANDLE hConsoleOutput,
_In_ TCHAR cCharacter,
_In_ DWORD nLength,
_In_ COORD dwWriteCoord,
_Out_ LPDWORD lpNumberOfCharsWritten
);
Paramètres
hConsoleOutput [entrée]
Un descripteur vers la mémoire tampon de l’écran de la console. Le descripteur doit avoir le droit d’accès GENERIC_WRITE. Pour plus d’informations, consultez Sécurité de la mémoire tampon et droits d’accès d’une console.
cCharacter [entrée]
Le caractère à écrire dans la mémoire tampon de l’écran de la console.
nLength [entrée]
Le nombre de cellules de caractères dans lesquelles le caractère doit être écrit.
dwWriteCoord [entrée]
Une structure COORD qui spécifie les coordonnées de caractères de la première cellule dans laquelle le caractères doit être écrit.
lpNumberOfCharsWritten [sortie]
Un pointeur vers une variable qui reçoit le nombre de caractères réellement écrits dans la mémoire tampon de l’écran de la console.
Valeur renvoyée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Notes
Si le nombre de caractères à écrire dépasse la fin de la ligne spécifiée dans la mémoire tampon de l’écran de la console, les caractères sont écrits sur la ligne suivante. Si le nombre de caractères à écrire dépasse la fin de la mémoire tampon de l’écran de la console, les caractères sont écrits jusqu’à la fin de la mémoire tampon de l’écran de la console.
Les valeurs d’attribut aux positions écrites ne sont pas modifiées.
Cette fonction utilise des caractères Unicode ou des caractères 8 bits de la page de codes actuelle de la console. Par défaut, la page de codes de la console est initialement définie sur la page de codes OEM du système. Pour changer la page de codes de la console, utilisez les fonctions SetConsoleCP ou SetConsoleOutputCP. Les consommateurs existants peuvent également utiliser les commandes chcp ou mode con cp select=, mais ce n’est pas recommandé pour un nouveau développement.
Conseil
Cette API n’est pas recommandée et n’a pas d’équivalent spécifique au niveau des terminaux virtuels. Le remplissage de la région en dehors de la fenêtre visible n’est pas pris en charge et est réservé à l’espace d’historique du terminal. Le remplissage d'une région visible avec un nouveau texte ou une nouvelle couleur s'effectue en déplaçant le curseur, en définissant les nouveaux attributs, en écrivant le texte souhaité pour cette région, et en répétant les caractères si nécessaire pendant la durée du remplissage. Un déplacement supplémentaire du curseur peut être nécessaire, suivi de l'écriture du texte souhaité pour remplir une région rectangulaire. L'application cliente est censée conserver sa propre mémoire de ce qui est affiché à l'écran et n'est pas en mesure d'interroger l'état distant. Pour plus d'informations, consultez la documentation sur les consoles classiques et les terminaux virtuels.
Spécifications
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | ConsoleApi2.h (via WinCon.h, include Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |
Noms Unicode et ANSI | FillConsoleOutputCharacterW (Unicode) et FillConsoleOutputCharacterA (ANSI) |