Funktion clrscr in C und C ++

7

Verwenden die heutigen C- oder C ++ - Compiler die Systemfunktion clrscr ?

    
dato datuashvili 12.07.2010, 06:30
quelle

5 Antworten

13

clrscr() ist eine nicht standardisierte Funktion (weder in ISO C99 noch in ISO C++-98 erwähnt), die in <conio.h> definiert ist (was nicht selbst standardkonform ist). Einige Compiler (wie zB Turbo C / C ++ ) unterstützen dies jedoch als Erweiterung.

    
Prasoon Saurav 12.07.2010, 06:33
quelle
7

Wie alle Sachen in conio.h . clrscr() hat nichts mit Standard C zu tun. conio ist eine gängige API von alten DOS-basierten C-Implementierungen für Konsolen der unteren Ebene - Dinge wie das Löschen des Bildschirms, Bewegen des Cursors, Lesen einzelner Tastenanschläge, usw. Ich weiß nicht Ich kenne den Verlauf nicht, aber vermutlich stammt er aus DOS, bevor er ANSI.SYS hatte, um Standard-Terminal-Escape-Codes für Cursor-Positionierung, Löschen des Bildschirms, Ändern der Farben, ...

zu unterstützen

Wenn Sie nur mit dem Lernen von C herumspielen, schadet es nicht, die conio -Funktionen zu verwenden, aber Sie sollten es vermeiden, #include <conio.h> zu verwenden. In den meisten Fragen, die ich auf SO gesehen habe, wo conio.h enthalten war, wurde es nicht einmal verwendet ... Diese Art von schlechter Angewohnheit führt zu sinnlosem nicht portierbarem Code.

    
R.. 12.07.2010 08:20
quelle
0

Als Alternative zu conio.h können Sie auch versuchen, ncurses zu verwenden, das die Handhabung von Terminals und den Cursor bietet Management, Farben und viele andere Funktionalitäten. Insbesondere bietet es der Funktion clear() eine ähnliche Funktionalität wie die von Ihnen erwähnte Funktion clrscr() . Für Windows (was Ihr Fall sein muss) gibt es PDCurses , das dieselbe API verwendet. Insbesondere stimmt ncurses mit der XSI-Curses-Basisspezifikation überein und wird weitgehend übernommen. Sie sollten sich daran halten, wenn ein gewisses Maß an Portabilität eine Rolle spielt.

    
alecov 10.09.2010 18:12
quelle
0

DeathStation 9000 und der ZOG C-Compiler verwenden immer noch clrscr() .

Zitat aus Ссылка

  

Es wäre bedauerlich, wenn mehr   Leben waren einfach verloren, weil einige   Programmierer fühlen ein tiefes spirituelles Bedürfnis   das Anzeigegerät zu löschen, und   Viel mehr, mit ZOG C's Commence   Starten Sie (Remote Systems Console   Anfrage), clrscr () .

    
pmg 10.09.2010 18:24
quelle
-1

Auf Unix-ähnlichen Systemen können Sie VT100-Escape-Codes verwenden.

%Vor%

Siehe Ссылка

    
Janus Troelsen 22.12.2011 14:35
quelle

Tags und Links