Dann wäre da noch einen eigenen Header mit einer Funktion schreiben.
Das würde dann ungefähr so aussehen:
Code: Alles auswählen
for (i=0; i<100; i++)
printf ("\n");
Code: Alles auswählen
for (i=0; i<100; i++)
printf ("\n");
siehe http://www.linux-user.de/ausgabe/2007/0 ... index.htmldani93 hat geschrieben:Da ich nun langsam auf Linux umsteige, versuche ich auch Plattformunabhängig zu programmieren, sprich conio.h wegzulassen. Naja getch () kann man leicht mit getchar () usw. umgehen, aber wie sieht es mit clrscr () aus? Es soll angeblich einen auch einen system () Befehl geben, von dem aber abgeraten wird.
Dann wäre da noch einen eigenen Header mit einer Funktion schreiben.
Das würde dann ungefähr so aussehen:Nur dann ist der Cursor immer ganz unten. Gibt es da ne bessere Methode?Code: Alles auswählen
for (i=0; i<100; i++) printf ("\n");
Code: Alles auswählen
printf("\033[J");
Da bist du nicht der einzige, aber warum eigentlich?Der Shell befehl wäre "clear", also system( "clear" ), wovon ich aber abrate :->
Zugriffe auf das Konsolen-System dauern zum einen lange, sind unprofessionell und definitiv nicht plattformunabhängig.dani93 hat geschrieben:Mal danke für die Antwort.Da bist du nicht der einzige, aber warum eigentlich?Der Shell befehl wäre "clear", also system( "clear" ), wovon ich aber abrate :->
Code: Alles auswählen
#include <stdio.h>
int main (void)
{
printf ("Wird man (hoffentlich) nie sehen");
printf("\033[J");
printf ("\nHello World");
return 0;
}
Ja, du benutzt Windowsdani93 hat geschrieben:Irgendwas mach ich da anscheinend falsch.
Es soll ja auf Linux UND Windows funktionieren.Ja, du benutzt Windows
printf("\033[J"); funktioniert aber nicht mit der normalen Windowskonsole...dani93 hat geschrieben:Es soll ja auf Linux UND Windows funktionieren.Ja, du benutzt Windows
Da hilft vermutlich erstmal nur eine eigene Bibliothek und dafür entsprechende PräProzessor-Anweisungen.dani93 hat geschrieben:Es soll ja auf Linux UND Windows funktionieren.Ja, du benutzt Windows
Code: Alles auswählen
#ifdef WINDOWS
#include <conio.h>
#endif
void myClear()
{
#ifdef LINUX || UNIX || MAC || AMIGA
printf( "\033[J" );
#endif
#ifdef WINDOWS
clrscr();
#endif
}
#endif
bzw. am besten gleich die vom compiler definierten Makros wie zb _WIN32 verwenden.Xin hat geschrieben:#ifdef WINDOWS