Veröffentlicht 17. Dezember 200123 j Hi, ich fang grade ganz frisch mit C++ an zu programmieren. Ich suche einen Befehl der mir in der Konsole wieder alles löscht. In Pascal hiess der clrscr; gibt es in C++ etwas vergleichbares?
17. Dezember 200123 j Ja, gibt es. Dabei handelt es sich um eine Escape Sequenz, wenn Du damit schon was anfangen kannst: cout << "\033[2J"; Ich denke das ist das was Du suchst. Bine
17. Dezember 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Woodstock: <STRONG>cout << "\033[2J";</STRONG> Ich befürchte, das wird nur mit geladenem ANSI.SYS funktionieren.
17. Dezember 200123 j Ja, da hast Du Recht. Jetzt wo Du das sagst, fällt es mir wieder ein, das ich damals sowas habe in eine Datei reinschreiben müssen. Weißt Du genau wo? Bine
17. Dezember 200123 j Äh, wie wäre es mit der Funktion "clrscr();" aus der <conio.h>? Das müsste funktionieren und dürfte etwas einfacher sein, oder? Grüsse! DocMabuse Daragon
17. Dezember 200123 j Das Bildschirmlöschen unter C ist ohnehin so eine Sache. C kennt keine Shells oder Konsolen, deshalb gibt es immer nur plattformabhängige Lösungen. Je nach Plattform kann es sein, dass es eine clrscr()-Funktion gibt. Die wird dann in der Regel in der conio.h deklariert. Das ist weder ein ANSI- noch ein POSIX-Standard, und Microsoft kennt das auch nicht. In einer Konsolenanwendung unter Windows kann man aber z.B. mit system( "cls" ); den Bildschirm löschen. Siehe auch: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99261
17. Dezember 200123 j Autor Die Datei <conio.h> hab ich leider nicht, aber mit system( "cls" ); hats funktioniert. Besten Dank!
18. Dezember 200123 j system("cls") hat nur das prob das es etwas langsam ist.. ich kenn selber aber keine bessere lösung
7. Januar 200223 j Original geschrieben von RavenX2 Die Datei <conio.h> hab ich leider nicht, aber mit system( "cls" ); hats funktioniert. Besten Dank! Du hast du Datei conio.h nicht?? :confused: Bei Visual C++? Das ist recht seltsam, bei mir ist sie dabei. Mir ist auch neu das die conio.h Platform-abhängig ist. Seid ihr euch da sicher? Gruß
7. Januar 200223 j Installiere den Compiler nochmal neu oder setze selber die Pfade, vermutlich sind die Dirs der Includes dem Compiler einfach nicht bekannt! Conio.h ist sogar auf meinem alten Amiga-C++-Compiler dasselbe, also wird das Standard sein.
8. Januar 200223 j MS Visual C++ hat zwar eine conio.h, aber da sind einige Methoden, wie eben clrscr oder auch gotoxy nicht drin, die bei anderen Compilern vorhanden sind.
8. Januar 200223 j Im Zweifelsfall entweder über int86(0x10, &inregs, &outregs) (REGS korrekt initialisieren) oder über Inline-Assembler kann man mit dem Video-Interrupt 0x10 (ah=6, cx=0 (=Startposition), dh=Zeilen, dl=Spalten (=Endposition), bh=7) den CLS ausführen. GotoXY wäre dann: (ah=2, dh=Zeile, dl=Spalte, bh=0 (Video-Page) und auch wieder INT 0x10,bzw. int86() aufrufen. Und kurz nochmal die Regs-Struktur: struct WORDREGS { unsigned int ax; unsigned int ab; unsigned int cx; unsigned int dx; unsigned int si; unsigned int di; unsigned int cflag; }; struct BYTEREGS { unsigned char al, ah; unsigned char bl, bh; unsigned char cl, ch; unsigned char dl, dh; }; union REGS { struct WORDREGS x; struct BYTEREGS h; }; angesprochen wird die Union über: REGS inregs; inregs.h.ah=irgendwas; inregs.w.bx=irgendwas; und dann heißt es halt: int86(0x10,&inregs,&inregs); Beim Inline-Assembler heißt es dann: __asm { pusha mov ah,6 mov cx,0 mov dh,24 mov dl,79 mov bh,7 int 10h popa }
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.