Effacer le texte dans une console sous C
Fermé
Boriss
-
24 août 2010 à 17:39
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 29 juil. 2012 à 04:48
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 29 juil. 2012 à 04:48
A voir également:
- Effacer le texte dans une console sous C
- Comment effacer une page sur word - Guide
- Excel cellule couleur si condition texte - Guide
- Insérer une image dans word sans bouger le texte - Guide
- Transcription audio en texte word gratuit - Guide
- Effacer les cookies - Guide
4 réponses
Bilow
Messages postés
1014
Date d'inscription
samedi 21 août 2010
Statut
Membre
Dernière intervention
2 août 2015
117
24 août 2010 à 21:16
24 août 2010 à 21:16
Salut !
Si ton programme reste sous Windows, tu peux utiliser ceci :
Si tu veux que ton programme aille autre part que sous Windows, j'ai déjà vu un psot qui traitait de cela.
Recherche dans les quelques dernières pages de tout mes posts :
https://forums.commentcamarche.net/forum/s/programmation-3/u/bilow
Bonne recherche :D
[ Désolé, mais je ne me souviens vraiment pas duquel... ]
Si ton programme reste sous Windows, tu peux utiliser ceci :
system("cls");Mais toutefois certains protesterons, je ne sais pas pourquoi.
Si tu veux que ton programme aille autre part que sous Windows, j'ai déjà vu un psot qui traitait de cela.
Recherche dans les quelques dernières pages de tout mes posts :
https://forums.commentcamarche.net/forum/s/programmation-3/u/bilow
Bonne recherche :D
[ Désolé, mais je ne me souviens vraiment pas duquel... ]
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
24 août 2010 à 23:29
24 août 2010 à 23:29
Bonjour,
Voici le code en C :
Source : https://c.developpez.com/faq/?page=Gestion-du-clavier-et-de-l-ecran-en-mode-console#CONS_clear_screen
Il vaut mieux passer par les API qu'utiliser la fonction system().
Cdlt,
Voici le code en C :
#include <windows.h> void windows_clear_screen(void) { HANDLE hConsole; CONSOLE_CONS_BUFFER_INFO Info; DWORD NbOctetsEcrits; /* Requis par FillConsoleOutputCharacter */ COORD Debut = {0, 0}; /* STD_OUTPUT_HANDLE fait reference a la sortie standard du programme qui est par defaut la console */ hConsole = GetStdHandle(STD_OUTPUT_HANDLE); /* Lit les infos sur le buffer de l'ecran */ GetConsoleScreenBufferInfo(hConsole, &Info); /* Remplit l'ecran avec le caractere espace */ FillConsoleOutputCharacter(hConsole, ' ', Info.dwSize.X*Info.dwSize.Y, Debut, &NbOctetsEcrits); /* Remet le curseur au debut de l'ecran */ SetConsoleCursorPosition(hConsole, Debut); }
Source : https://c.developpez.com/faq/?page=Gestion-du-clavier-et-de-l-ecran-en-mode-console#CONS_clear_screen
Il vaut mieux passer par les API qu'utiliser la fonction system().
Cdlt,
Wazza6
Messages postés
180
Date d'inscription
lundi 31 décembre 2007
Statut
Membre
Dernière intervention
21 juillet 2012
40
25 août 2010 à 03:11
25 août 2010 à 03:11
Pourquoi? Le code qui utilise l'API n'est pas plus portable que le code qui utilise la fonction system() , il est juste plus gros, il arrive au même résultat avec ton code.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
25 août 2010 à 08:27
25 août 2010 à 08:27
A Wazza6
Ça tombe bien, la raison n'est pas la portabilité. C'est une question de performance... La fonction system est très lourde en plus d'être moche et peu sécurisée. Après si vous ne considérez pas ces critères comme important, il n'y a aucun intérêt a développer en C.
Ça tombe bien, la raison n'est pas la portabilité. C'est une question de performance... La fonction system est très lourde en plus d'être moche et peu sécurisée. Après si vous ne considérez pas ces critères comme important, il n'y a aucun intérêt a développer en C.
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
29 juil. 2012 à 04:48
29 juil. 2012 à 04:48
Et si ta console supporte l'ANSI, un simple
puts("\x1b[2J"); suffira.
puts("\x1b[2J"); suffira.