Fonction ReadConsoleOutputCharacter
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.
Copie un certain nombre de caractères à partir de cellules consécutives d’une mémoire tampon de l’écran de la console, en commençant à un emplacement spécifié.
Syntaxe
BOOL WINAPI ReadConsoleOutputCharacter(
_In_ HANDLE hConsoleOutput,
_Out_ LPTSTR lpCharacter,
_In_ DWORD nLength,
_In_ COORD dwReadCoord,
_Out_ LPDWORD lpNumberOfCharsRead
);
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_READ. Pour plus d’informations, consultez Sécurité de la mémoire tampon et droits d’accès d’une console.
lpCharacter [sortie]
Un pointeur vers une mémoire tampon qui reçoit les caractères lus à partir de la mémoire tampon de l’écran de la console.
nLength [entrée]
Le nombre de cellules de caractères de mémoire tampon d’écran à partir desquelles lire. La taille de la mémoire tampon pointée par le paramètre lpCharacter doit être nLength * sizeof(TCHAR)
.
dwReadCoord [entrée]
Les coordonnées de la première cellule de la mémoire tampon de l'écran de la console à partir de laquelle lire, en caractères. Le membre X de la structure COORD est la colonne et le membre Y est la ligne.
lpNumberOfCharsRead [sortie]
Un pointeur sur une variable qui reçoit le nombre de caractères réellement lus.
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 à lire dépasse la fin de la ligne de la mémoire tampon de l'écran spécifiée, les caractères sont lus à partir de la ligne suivante. Si le nombre de caractères à lire dépasse la fin de la mémoire tampon de l'écran de la console, les caractères jusqu'à la fin de la mémoire tampon de l'écran de la console sont lus.
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 de terminal virtuel. Cette décision aligne intentionnellement la plateforme Windows avec d’autres systèmes d’exploitation où l’application cliente individuelle est censée mémoriser son propre état dessiné pour une manipulation supplémentaire. La communication à distance des applications via des utilitaires multiplateformes et des transports comme SSH peut ne pas fonctionner comme prévu si vous utilisez cette API.
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 | ReadConsoleOutputCharacterW (Unicode) et ReadConsoleOutputCharacterA (ANSI) |