Comment effacer l’écran en C?

Je veux effacer tout le texte à l’écran. J’ai essayé d’utiliser:

#include  sys(clr); 

Merci d’avance! J’utilise OS X 10.6.8. Désolé pour la confusion!

La meilleure façon d’effacer l’écran est d’appeler le shell via le system(const char *command) dans stdlib.h:

 system("clear"); //*nix 

ou

 system("cls"); //windows 

Encore une fois, il est toujours bon de minimiser votre dépendance sur les fonctions appelant le système / environnement, car elles peuvent provoquer toutes sortes de comportements non définis.

Vous devez vérifier les malédictions.h . C’est une bibliothèque de traitement de terminal (curseur), qui permet à tous les écrans de texte pris en charge de se comporter de la même manière.

Il existe trois versions, la troisième ( ncurses ) est celle que vous souhaitez, car elle est la plus récente et est scope sur la plupart des plates-formes. Le site officiel est ici et il y a quelques bons tutoriels .

 #include  int main(void) { initscr(); clear(); refresh(); endwin(); } 

Les fenêtres:

 system("cls"); // missing 's' has been replaced 

Unix:

 system("clear"); 

Vous pouvez emballer ceci dans un seul morceau de code plus portable comme ceci:

 void clearscr(void) { #ifdef _WIN32 system("cls"); #elif defined(unix) || defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__)) system("clear"); //add some other OSes here if needed #else #error "OS not supported." //you can also throw an exception indicating the function can't be used #endif } 

Notez que la vérification pour unix est assez coûteuse. Cela devrait également détecter OS X, ce que vous utilisez.

La disponibilité de cette fonction ou de fonctions similaires comme clrscn () dépend beaucoup du système et n’est pas portable.

Vous pouvez restr très simple et rouler vous-même:

 #include  void clearscr ( void ) { for ( int i = 0; i < 50; i++ ) // 50 is arbitrary printf("\n"); }