Rechercher : dans
Par :

Effacer un ecran en C

Dernière réponse le 11 fév 2005 à 12:39:29 Laurent, le 28 mar 2001 à 23:00:19 
 Signaler ce message aux modérateurs

Quelqu'un peut-il me dire comment on efface l'ecran en
programmation c.

Merci A+

Meilleures réponses pour « effacer un ecran en C » dans :
[Multimédia] Faire une capture vidéo de l'écran VoirIl est possible de faire des vidéos de ce qui se passe à l'écran. C'est utile pour faire des démonstrations de logiciels, des aides ou des tutoriels. Les logiciels Il y a pour cela 2 logiciels gratuits: CamStudio et Wink. Ces logiciels ne sont...
Quel écran LCD acheter pour votre ordinateur ? VoirA l’heure où les vieux écrans CRT sont remisés au placard, ce sont les écrans plats LCD qui envahissent nos bureaux. Mais comment choisir ? Quelle taille ? Quelle résolution ? Quelques conseils pour acheter le bon écran. Quel écran pour...

1

karim, le 29 mar 2001 à 08:50:06

Pour effacer un ecran c'est la commande: clrscr();

Répondre à karim

2

cyril, le 29 mar 2001 à 14:28:03

Tu peux inclure la bibliotheque process.h

et dans le main ou ailleurs metttre system("cls");

mais ça doit marcher que sous windows j'ai pas essayer sous unix

Répondre à cyril

3

batmat, le 30 mar 2001 à 16:39:51

Il y a en effet clrscr() qui est dans conio.h seulement ce n'est pas portable, donc la seule solution sous un autre os c de sauter autant de lignes qu'il faut pour effacer tout (en général c 26 )
@+

Répondre à batmat

4

freedoomer, le 2 avr 2001 à 01:19:53

Non, clrscr ne fonctionne pas avec tous les compilos, system("cls") est une bonne alternative

Répondre à freedoomer

5

The Slayer, le 16 jan 2003 à 18:20:00

ClrScr ne marche pas sous dos en effet

Répondre à The Slayer

7

batmat, le 16 jan 2003 à 22:11:18
  • +1

Avant de donner des réponses aussi catégoriques, tu devrais te renseigner : les gens qui débutent peuvent prendre cette réponse pour argent comptant et elle est fausse :
-> clrscr() marche très bien sous dos, seulement c'est une fonction de conio.h, que MSVC++ n'intègre pas par exemple. (si tu as testé ClrScr c'est normal que cela n'aie pas fonctionné, ca ne prend pas de majuscules). Je crois pouvoir dire que conio.h est un header développé par Borland et c'est donc la raison pour laquelle microsoft ne l'intègre pas en standard.

@++
Batmat
____________________________
Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?

Répondre à batmat

6

pat, le 16 jan 2003 à 18:26:46

Boujours,
je voudrais savoir comment on fait pour mettre un message qui clignote et avec un son en c++.
merci

Répondre à pat

8

jisisv, le 17 jan 2003 à 10:11:06

Sous les terminaux qui le supportent (vt100, xterm),
écran DOS avec pilote ansy.sys ou équivalent, il est plus s'imple d'envoyer la séquence
ESC[2J

#include <stdio.h>
#define ESCAPE 27
#define CLEAR "[2J"

int main(void)
{
printf("%c%s", ESCAPE,CLEAR);
return 0;
}

L'appel à system est un peu lourd, non?

Johan Daine

The software said "Requires Windows98, Win2000, or better,
So I installed Unix.

Répondre à jisisv

9

johann, le 8 déc 2004 à 20:42:54

Salut tout le monde, je suis un débutant en C
et j'avais le même problème :
la fonction clrsrc() marchait avec dev-C++ de la version 4.0.0.0
et avec conio.c
mais j'ai du passer avec à la version 4.9.9.1 de Dev
et il ne connait pas clrsrc()
j'ai essayé ça sans résultat

#include <stdio.h>
#define ESCAPE 27
#define CLEAR "[2J"

int main(void)
{
printf("%c%s", ESCAPE,CLEAR);
return 0;
}


Grâce à ce forum j'ai essayé
tu peux inclure la bibliotheque process.h

et dans le main ou ailleurs metttre system("cls");

et ça marcher
CIAO et MERCI BCQ

Répondre à johann

10

allaWos, le 22 déc 2004 à 14:36:57

Moi j'ai fait, sous linux, avec :

#include <stdlib.h>


system("clear");

Répondre à allaWos

11

 dop, le 11 fév 2005 à 12:39:29

Bonjour. je poste ici une fonction portable et fort pratique :

http://c.developpez.com/faq/c


#ifdef _Windows
#include <windows.h>
#elif defined(linux) /* ou autres Unix qui possèdent NCurses */
#include <ncurses.h>
#define UTILISE_NCURSES
#elif defined(__MSDOS__)
#include <dos.h>
#endif

/* Efface l'écran texte et se positionne le curseur en haut à gauche */
void EffaceEcranTxt(void)
{
#if defined(UTILISE_NCURSES)
clear();
move (0,0);
#elif defined(_Windows)

/* Début : (1,1) */
CONSOLE_SCREEN_BUFFER_INFO Info;
COORD Debut;
DWORD NbrOctetEcrit;
Debut.X = 0;
Debut.Y = 0;

/* Lit les infos sur le buffer */
GetConsoleScreenBufferInfo (HdlConsole, &Info);

/* Remplit l'écran avec le caractère espace : ' ' */
FillConsoleOutputCharacter (HdlConsole, ' ', Info.dwSize.X*Info.dwSize.Y, Debut, &NbrOctetEcrit);

/* Positionne le curseur */
SetConsoleCursorPosition (HdlConsole,Debut);
#elif defined(__MSDOS__)
union REGS inregs, outregs;
struct SREGS segregs;
inregs.h.ah = 0x00; /* Fonction 00h : Change de mode video */
inregs.h.ah = 0x03; /* Mode = 03h : 80x25 caracteres, 16 couleurs */
int86x(0x10, &inregs, &outregs, &segregs); /* Interruption 10h : Video */
#endif
}

Répondre à dop