Mindkét rendszeren a system() függvény végzi a képernyő törlést, viszont más-más paramétert várnak, ezért ha egyszerűség miatt mindenképpen őt szeretnénk használni (és nem egy bonyolultabb grafikus könyvtárat), akkor a következőket kell tennünk:
Makró segítségével meg kell vizsgálni, hogy Linuxon vagy Windowson fordítjuk a kódot, ezt a következőképpen lehet megtenni:
#ifdef linux
void cls()
{
/* Hasznaljon clear-t ha Linuxon fordul*/
system("clear");
return;
}
#endif
#ifdef _WIN32
void cls()
{
/* Hasznaljon cls-t ha Windowson (VisualStudio) fordul */
system("cls");
return;
}
#endif
Ezután a programunkban a képernyő törlésére használjuk a cls() függvényt, melynek segítségével platformfüggetlenek maradhatunk.
A #ifdef utáni rész (linux, _WIN32) fordítónként eltérhet, ezért mindenképpen utánna kell nézni, hogy a használt fordító milyen makrót definiál.
No comments:
Post a Comment