Potrzebuję funkcji, która może wyczyścić ekran zarówno w systemie Linux, jak i Windows. Aby to zrobić, chcę wiedzieć, czy są jakieś instrukcje, które mogą mi powiedzieć, z jakim systemem operacyjnym pracuję. I Szukano rozwiązania i znalazłem następujący kod:Skąd mogę wiedzieć, w jakim OS pracuje?
void clear_screen()
{
#ifdef WINDOWS
std::system ("CLS");
#else
// Assume POSIX
std::system("clear");
#endif
}
Istnieją dwa problemy związane z tą funkcją:
ja tego nie rozumiem.
-> dla
#ifdef WINDOWS
, gdzie zdefiniowano WINDOWS?Ten kod działa w systemie Linux, ale nie działa w systemie Windows.
Uwaga:
Używam Windows XP.
Nie chcę żadnych niestandardowych funkcjonalności ... takie "curses"
+1 ale prawdopodobnie powinieneś również zająć się drugą częścią pytania "Gdzie są one zdefiniowane" – jozefg
thx ... ale jest "_WIN32" dla każdej wersji Windows (XP, Vista, 7,8) 32 i 64-bitowe !! – BBeta
@BBeta Tak, jest. –