Bonjour à tous. J'ai encore besoin d'un peu d'aide des spécialistes...

J'aurais voulu une fonction qui me permette d'effacer l'écran...
Je suis allé voir sur la FAQ, dans laquelle j'ai trouvé une fonction qui devait permettre de le faire, mais je ne sais pas pourquoi ca n'a pas fonctionné. Voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#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
}
Il n'y a pas eu d'erreur de compilation lorsque je l'ai inclus dans mon programme, mais un appel à la fonction n'a eu aucun effet du tout, l'écran est resté tel quel... Savez vous pourquoi ? Auriez vous une autre fonction plus adaptée ? Merci d'avance

Michel