Maison >développement back-end >C++ >Comment puis-je effacer uniquement une ligne spécifique dans la console au lieu de la console entière ?

Comment puis-je effacer uniquement une ligne spécifique dans la console au lieu de la console entière ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 02:32:39190parcourir

How Can I Clear Only a Specific Line in the Console Instead of the Entire Console?

Extension des capacités de Console.Clear() : suppression de lignes au lieu de consoles entières

Dans une quête récente visant à créer une question et -answer, l'auteur est tombé sur l'utilitaire Console.Clear() pour supprimer le contenu de l'écran. Cependant, une question s'est posée : Console.Clear() pourrait-il être personnalisé pour effacer uniquement une ligne spécifique ?

Plongée dans la personnalisation de Console.Clear()

La limitation de Console.Clear() pour effacer uniquement la console entière peut être surmontée en utilisant la fonction Console.SetCursorPosition. Cette fonction vous permet de naviguer vers une ligne spécifique sur l'écran. En associant cela à l'extrait de code suivant, la suppression de ligne devient réalisable :

public static void ClearCurrentConsoleLine()<br>{</p>
<pre class="brush:php;toolbar:false">int currentLineCursor = Console.CursorTop;
Console.SetCursorPosition(0, Console.CursorTop);
Console.Write(new string(' ', Console.WindowWidth)); 
Console.SetCursorPosition(0, currentLineCursor);

}

Cette fonction accomplit le suivant :

  1. Enregistre la position actuelle du curseur (numéro de ligne).
  2. Déplace le curseur au début de la ligne actuelle.
  3. Écrit une chaîne vide couvrant le toute la largeur de la console.
  4. Rétablit le curseur à son état d'origine position.

Exemple d'implémentation

Plongeons dans un exemple qui illustre la fonctionnalité de la ligne Console.Clear() compensation :

Console.WriteLine("Test");
Console.SetCursorPosition(0, Console.CursorTop - 1);
ClearCurrentConsoleLine();

Dans cet exemple, la chaîne "Test" est écrit sur la console, suivi de l'exécution du code d'effacement de ligne. En conséquence, la chaîne « Test » est effacée, laissant la console prête pour une saisie supplémentaire.

Informations supplémentaires

Pour une exploration plus approfondie de ce sujet, considérez faisant référence à la ressource suivante :

  • Méthode Console.SetCursorPosition : https://docs.microsoft.com/en-us/dotnet/api/system.console.setcursorposition?view=netcore-3.1

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn