Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

<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.

Geschrieben

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

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

Geschrieben

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.

Geschrieben

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

}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...