Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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

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

Kennst Du denn dafür noch was anderes? :confused: ?

Bine

Ä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

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

Hmm, ich kannte nur diese Möglichkeit (aus dem Buch aus dem ich lerne).

Bine

Mit was programmierst Du denn?

Bine

system("cls") hat nur das prob das es etwas langsam ist.. ich kenn selber aber keine bessere lösung :(

  • 3 Wochen später...
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ß

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.

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.