PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "Vollbild" Linux C ?



Franknborder
16-06-2004, 08:36
Hallo,...


Meine Frage: Wie erreiche mittels C Code eine "leerung" des Terminals, d.h.
ich rufe ./meinprog.c auf, der Terminal "löscht" den bisherigen
"Inhalt" und führt mein Prog aus. Wenn ich nach meinem
Programmaufruf will das eine "neues", "Fenster" gestartet wird
und das nach Möglichkeit als Vollbild und ohne Rahmen, haben
möchte, welchen Code brauche ich dann ?

Gruß

Franknborder

panzi
16-06-2004, 10:32
Mit ANSI Escape Sequenzen (sollt auch unter Windows gehn!):
http://www.bluesock.org/~willg/dev/ansi.html

Sprich:

printf( "\e[2J" );

peschmae
16-06-2004, 10:36
Terminal löschen geht mit Escape-Sequenzen. Dein Programm muss sowas ausgeben (aufs zu löschende Terminal) wie da beschrieben:
http://www2.informatik.uni-halle.de/lehre/pascal/sprache/esc_vt100.html

MfG Peschmä

mike
16-06-2004, 10:43
Hi!
Die Escape Sequenzen sind nicht portabel. Ich würde sowas alla


#include <stdio.h>
#ifdef __unix__
#define clrscr() printf("")
#elif __BORLANDC__ && __MSDOS__
#include <conio.h>
#elif __WIN32__ || _MSC_VER
#include <stdlib.h>
#define clrscr() system("cls")
#else
#define clrscr() printf("clrscr() - Fehler!!\n")
#endif

int main()
{
/*Universale Routine zum Löschen des Bildschirms*/
clrscr();
return 0;
}

nehmen.
mfg

comrad
17-06-2004, 13:12
Hi,

ich würd unter Linux da eher mit Ncurses arbeiten. Ein Systemcall ist glaub nicht so die optimale Lösung.

comrad

r00t043
17-06-2004, 17:43
IMHO duerfte es schwierig werden ohne Systemcall ueberhaupt irgendetwas auf den Monitor zu bekommen. Aber welchen meinst du?

Lin728
17-06-2004, 20:44
Hab mir am anfang auch gedacht, was damit eigentlich gemeint ist, aber manchmal ist einfaches english-übersetzten halt nicht wirklicg soo gut ;-)
Ich glaube zu wissen, dass comrad mit systemaufruf wahrscheinlich eher systemabhängige aufrufe und nicht syscalls gemeint hat

Trillian
18-06-2004, 17:20
systemcall != system(was-auch-immer)

;]