bonjour
j'ai codé un programme en console et j'aimerai qu'à la fin d'une boucle, ma console redevienne vierge ( une sorte de clear screen). quelqu un peut m'indiquer la marche a suivre pour effectuer cela?
Version imprimable
bonjour
j'ai codé un programme en console et j'aimerai qu'à la fin d'une boucle, ma console redevienne vierge ( une sorte de clear screen). quelqu un peut m'indiquer la marche a suivre pour effectuer cela?
Rien de standard.
Précise ta plate-forme.
PS: Faire ça à la fin du programme, y'a rien de plus ch***t pour un utilisateur qui aimerait bien savoir comment son programme a fini.
sur windows ceci devrait te convenir :D :
Code:system("cls");
Bien d'accord avec toi. Je suis toujours surpris du nombre de posts qui demandent comment effacer la console. On ne casse le c** pour afficher des choses dedans, et certains veulent tout effacer. Etrange.Citation:
Envoyé par Médinoc
Compilation conditionnelle.
system("clear") pour Linux
system("cls") pour Windows
bein nan ça peut avoir son utilité si on fait bien les choses.Je sais que je l utilise souvent apres avoir fait un system("pause") sur windows ou un
Code:
1
2
3
4 printf("appuyer sur entré pour continé\n"); int c; while ((c = getchar()) != '\n' && c != EOF);
Si on fait bien les choses, on ne devrait jamais avoir a utiliser system("cls") ou system("clear"). Faut quand meme admettre que c'est affreux (depend du systeme, completement inutile si stdout est redirige vers un fichier, et j'en passe).Citation:
Envoyé par sneb5757
Les solutions plus jolies sont:
- n'ecrire que ce que l'utilisateur attend, voire rien du tout si on n'a rien a dire;
- offrir a l'utilisateur un mode "verbeux" (verbose mode) via une option (-v, par convention);
- ecrire tout. Si l'utilisateur n'est pas interesse, il peut toujours rediriger vers /dev/null ou un fichier.
bonjour
moi je pense qu'il ne faut tout de suite condamner le fait d'effacer la console apres tout depend du prog et de ce qu'il fait , ça peut lourd aussi pour l'utilisateur.
Tu peux le refaire en français ? Il n'est pas interdit de se relire, ni de se corriger... http://www.developpez.net/forums/ima...ttons/edit.gifCitation:
Envoyé par krachik
Salut,
Sous windows, et à condition de disposer de l'entete conio.h (ou conio2.h avec certains EDI), il y a moyen d'utiliser l'instruction
MaisCode:clsrscr()
- Ce n'est pas portable (conio n'estpas disponible sous linux)
- ce n'est pas forcément disponible avec tous les EDI
- c'est une bibliotheque propriétaire
Sous linux, le plus propre (par rapport à system("clear")) est l'utilisation des séquences d'échapement ANSI, mais
- c'est à toi de rechercher la séquence ad-hoc
- la ligne de commande windows ne supporte pas les séquences d'échappement ANSI
A tous les détracteurs de l'effacement de l'écran, on pourrait répondre que, sur une application devant tourner en boucle, avec affichage d'un "menu" de choix, le fait d'effacer l'écran avant de réafficher le menu peut etre ressenti comme un "plus", même si je ne me prononcerai pas personnellement sur ce point de vue...
Positionnement curseur et code ANSI ce doit être utilisable sous Windows mais pas avec la configuration par défaut.Citation:
Envoyé par koala01
Dans ce cas il existe des bibliothèques pour faire ça qui propose une fonction pour effacer l'écran (exemple de ncurses : man curs_clear)Citation:
Envoyé par koala01
Je pense que la licence de Borland sur cette fonction sous DOS ou VM-DOS Windows a été largement ébréchée par la version GPL du DevPak CONIO pour MinGW sous Win32 en mode console.Citation:
Envoyé par koala01
http://old.devpaks.org/show.php?devpak=75
mais *il me sembe* (détrompe moi si je suis dans le faux;) ) que ncurses ne fonctionne pas sous windows... Si j'ai raison, on en revient au probleme de portabilité ;)Citation:
Envoyé par gege2061
De fait...(apres avoir installé de devpack en question, j'ai meme été surpris de constater qu'il y avait une version "C++" de cette entete)Citation:
Envoyé par Emmanuel Delahaye
Disons donc que cet argument là est tres mitigé ;)
PDCurses existe en version Windows.Citation:
Envoyé par koala01
http://pdcurses.sourceforge.net/
Ah ben tu vois... "tout le monde peut se tromper" :oops:...
Je vais y jeter un oeil à l'occasion ;)
Ou alors moi j'ai une petite solution qui peut contenter tout le monde, c'est de remplir la partie visible de la console de charactères d'espace (par exemple avec une boucle for ou il n'y aurai que des printf("\n");)
De cette manière l'utilisateur pourra toujours revenir voir ce qui c'est passé précédemment mais il aura aussi un écran vierge.
Edit: Le seul inconvénient de ma methode est que lorsque tu souhaitera afficher à nouveau des informations, elles ne seront affichée que à partir de la dernière ligne du bas, et non celle du haut comme c'est le cas pour une console vide...