ich bin Newbe und möchte wissen wie man in C der Bildschirm löscht (unter
Linux), in Basic ist das CLS
Danke im Vorraus
--
Tschüss Martin Köhler
Internet :
http://www.jg-pleissa.de.vu/
http://come.to/pleissa-soft/
E-Mail :
software...@web.de
martin....@web.de
jungegemei...@web.de
mit dieser Textausgabe kannst du den Bildschirm Löschen
cout << "\033[2J"; //\033 heist hier esc Zeichen
Falls du noch mehr machen willst wie Farben verändern dann schau doch mal
unter
http//:www.schellong.de/htm/ansi.htm
Damit müsste alles klar sein
> ich bin Newbe und möchte wissen wie man in C der Bildschirm löscht (unter
> Linux), in Basic ist das CLS
Ich nehme mal an, es geht um textausgabe...
Am einfachsten - und zudem halbwegs portabel auf andere
betriebssysteme - ist es, wenn man "curses" bzw. "ncurses" verwendet:
eine library fuer text-terminal-ausgabe.
Dazu die manpages ansehen: "ncurses" und insbesondere "curs_clear".
Wenn das programm definitiv nur auf der Linux-konsole oder im xterm
laufen soll, kann man auch mit "printf()" die entsprechenden
steuerzeichen ausgeben, welche das sind, wurde schon in einem anderen
posting geschrieben. Zumindest auf meinem system gibt es die manpage
"console_codes", in der alles notwendige drinsteht.
Die positionierung von text geht auch, in beiden varianten ... und
noch mehr.
Viel erfolg beim ausprobieren!
Klaus
--
Klaus von der Heyde -- he...@informatik.uni-bonn.de
>>ich bin Newbe und möchte wissen wie man in C der Bildschirm löscht
>>(unter Linux), in Basic ist das CLS>
> mit dieser Textausgabe kannst du den Bildschirm Löschen cout <<
> "\033[2J"; //\033 heist hier esc Zeichen
cout ist AFAIK _kein_ C. Lies bitte die Frage genau durch.
Gruß Andreas
Ausserdem löscht man den Bildschirm nicht damit, irgendwelche
hart-codierten ESC-Sequenzen auszugeben. Da könnte man ja
gleich in C64-Zeitalter zurückfallen und den Bildschirmspeicher
mit poke löschen.
Wie es richtig gemacht wird, sieht man ein Posting weiter
unten (man curses)
Walter
> Ausserdem löscht man den Bildschirm nicht damit, irgendwelche
> hart-codierten ESC-Sequenzen auszugeben. Da könnte man ja
> gleich in C64-Zeitalter zurückfallen und den Bildschirmspeicher
> mit poke löschen.
Es mag faelle geben, in denen es nicht anders geht. Hatte ich schon,
sowas. Zum richtig programmieren lernen taugt das natuerlich nicht.
Curses ist auf den 1. blick zwar nicht ganz einfach und wirkt etwas
ueberladen (feature-rich :), aber, es lohnt sich.
>
> Wie es richtig gemacht wird, sieht man ein Posting weiter
> unten (man curses)
Gibt es eigentlich auch eine portierung von Borlands "crt" fuer
unix-systeme? Fuer die portierung noch irgendwo rumgammelnder
DOS-programme waere das ja ideal.
Und wenn man schon nicht direkt Curses verwenden will, dann
sollte man lieber Systemaufrufe mit tput anstelle von hart-codierten
ESC-Sequenzen verwenden:
system("tput clear"); /* Löscht Bildschirm */
system("tput cup 5 20"); /* Positioniert Cursor in Zeile 5, Spalte 20 */
Grüße
Erich
--
EFEU is great (development tools, C libraries, interpreter language, ...).
Get the open source from http://efeu.cybertec.at now.
> Gibt es eigentlich auch eine portierung von Borlands "crt" fuer
> unix-systeme? Fuer die portierung noch irgendwo rumgammelnder
> DOS-programme waere das ja ideal.
Meinst du die #include <conio.h> Teile? Ich hab zwar noch nie
etwas damit zu tun gehabt, aber ich glaube mich zu errinnern,
das sowas mal auf freshmeat.net angekündigt wurde.
Walter
> system("tput clear"); /* Löscht Bildschirm */
> system("tput cup 5 20"); /* Positioniert Cursor in Zeile 5, Spalte 20 */
Scheint mir nicht besonders effizient zu sein :(
Klaus
> system("tput clear"); /* Löscht Bildschirm */
> system("tput cup 5 20"); /* Positioniert Cursor in Zeile 5, Spalte 20 */
Erich, was hast du in deinen 20 Jahren Unix-Erfahrung eigentlich
gemacht, daß du weder globbing noch termcap/terminfo kennst?
man tgetent
man termcap, man terminfo
schon gut hab mich ein bisschen vertan
>
>Ausserdem löscht man den Bildschirm nicht damit, irgendwelche
>hart-codierten ESC-Sequenzen auszugeben. Da könnte man ja
>gleich in C64-Zeitalter zurückfallen und den Bildschirmspeicher
>mit poke löschen.
>
>Wie es richtig gemacht wird, sieht man ein Posting weiter
>unten (man curses)
??????????macht curses nicht das gleiche?????????
oder gehe ich von einer falschen annahme aus
wenn es das gleiche macht dann spricht doch eigentlichts nichts dagegen die
ASCII Zeichen direckt auszugeben, oder???????
>
>Walter
> ??????????macht curses nicht das gleiche?????????
> oder gehe ich von einer falschen annahme aus
> wenn es das gleiche macht dann spricht doch eigentlichts nichts dagegen die
> ASCII Zeichen direckt auszugeben, oder???????
Curses prueft die Umgebungsvariable "TERM", damit es erfaehrt an welchen
Terminaltyp du sitzt. Dann schaut es in der terminfo-Datenbank nach,
wie bei diesem Terminaltyp der Bildschirm geloescht wird.
Wenn du eine ESC-Sequenz fest in dein Programm eincodierst, läuft das
evtl. bei deinem Terminal/Terminalemulation, aber nicht auf allen
Terminals. Sowas ist unschoen, damit gewinnt man keine Freunde.
BTW: deine Fragezeichentaste prellt.
Walter
--
Tschüss Martin Köhler
Internet :
http://www.jg-pleissa.de.vu/
http://come.to/pleissa-soft/
E-Mail :
software...@web.de
martin....@web.de
jungegemei...@web.de
"Andreas Baier" <bait...@gmx.net> schrieb im Newsbeitrag
news:ch5a1a...@baitronic.local...
Ich kenne curses/termcap/terminfo schon lange. Meine Antwort war
für: Was mach ich, wenn ich curses/terminfo *nicht* verwenden will.
Da ist die Verwendung von tput besser als hart-codierte
Escape-Sequenzen. Bitte den Zusammenhang beachten!
PS: tput ist für die Shell-Programmierung geeignet.
> Ist egal, dan binde ich halt noch die C++ Header ein !!
> Danke !!
Jau, das hilft bestimmt. Versuch's dann bitte gleich lieber
mit einem C++ Compiler. Bist Du sicher, dass Du weisst, was
Du willst?
[TOFU entsorgt]
Gruss,
Herbert
--
Chinese is a lousy language for scrabble
-- Neal Stephenson
-=-=- -=-=-=-=-
Dipl.Ing. Martin "Herbert" Dietze -=-=- The University of Buckingham -=-=-