Est clrscr(); une fonction en C++?
10 réponses
Il utilisé pour être une fonction dans
ce n'est pas une fonction standard C++.
et avant que quelqu'un poste l'habituel "s'il vous plaît envoyez-moi le conio.h Fichier" requête, puis - je souligner que cet ancien fichier D'en-tête Borland ne contenait que la déclaration de la fonction. Vous aurez également besoin de la bibliothèque Borland, qui ne sera compatible avec aucun système de compilation c++ moderne.
comme mentionné plus haut, clrscr() est de turbo C++, à l'intérieur de conio.h
à toutes fins pratiques, conio.h est "non standard", et en tant que tel devrait probablement être évité.
j'ai tendance à utiliser le précompilateur pour choisir ce qu'il faut utiliser pour un écran clair simple, et il suffit d'appeler le programme clair du système d'exploitation.... il est assez intelligent pour savoir comment les "grands" de l'écran.
// somewhere in the program
#define WINDOWS 1
void console_clear_screen() {
#ifdef WINDOWS
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
}
Dans windows, vous pouvez regarder le Windows.h, Vous pouvez interagir directement avec la console windows en utilisant un "handle", souvent noté dans le code comme un hWin.
sous linux, j'ai eu de la chance avec les malédictions/ncurses, même si c'est un peu confus au début.
mise à jour l'Appel de programmes système (clair.exe?)est un risque potentiel de sécurité - si quelqu'un est capable de détourner l'appel système d'une façon ou d'une autre par une autre avenue, ils peuvent forcer votre programme à faire des choses étranges. Mon la recommandation est de creuser dans l'api de la console de votre plateforme pour faire ces choses.
vous devez inclure ce fichier d'en-tête pour cette fonction
#include <conio.h>
une recherche sur le web indique que le fichier d'en-tête que vous voulez est 'conio.Je n'ai pas essayé, donc pas de garanties. Son existence peut également dépendre de la plate-forme contre laquelle vous compilez.
vous pouvez utiliser la commande system cls pour effacer l'écran de sortie..
clrscr () est de turbo c++, inside conio.h et conio.h est "non standard", et en tant que tel devrait probablement être évité. exemple
#include<windows.h>
main()
{
some code....;
system("cls");
some more code;
}
sa testé et fonctionne.. j'utilise dev c++ avec mingw compiler.. :)
la façon La plus simple pour effacer l'écran en vrai C++ est simplement d'envoyer un tas de lignes blanches. Bien sûr, cela suppose que stdout est dirigé vers l'écran et non un fichier:
for (int i = 0; i < 80; ++i)
cout << "\n";
cout << endl;
sur les systèmes de type Unix, vous pouvez utiliser les codes d'échappement VT100.
std::cout << "3[2J" << std::flush;
sous Linux j'utilise toujours:
void clrscr(void)
{
fprintf(stdout, "3[2J"); // clean screen
fprintf(stdout, "3[1;1H"); // move cursor to the first line
}