PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux *CURSES* Sehr sehr ratlos im Moment!



LikeLaplace
17-10-2006, 16:48
Hallo, weiss einfach nicht weiter! Brauche dringend Hilfe, da schon einige Stunden mit suchen drauf ging.




#include <stdio.h>
#include <unistd.h>
#include <ncurses.h>
#include <term.h>

WINDOW *mywindow;
int main ()
{
mywindow = initscr();
refresh();
mvwprintw( mywindow, 2, 2, "Hello World");
refresh();

return(0);
}

[Frage]
Ich habe die Header-Datei beim Linken expl. aufgeführt
(-lncurses). Bekomme auch kein Fehler. Jedoch bekomme ich auch nichts zu sehen. Kann mir dabei jemand weiterhelfen?


Vielen Dank für die Bemühungen,

anda_skoa
17-10-2006, 17:48
Vermutlich beendet sich das Programm sofort wieder, weil es an keiner Stelle auf Eingaben warten muß

Ciao,
_

peschmae
17-10-2006, 17:50
Also bei mir funktioniert ein

gcc test.c -o test -lncurses && ./test

zumindest sehe ich dann den output. Allerdings muss ich nachher ein reset machen weil das Terminal sonst ziemlich unbrauchbar ist ;)

Kann dir leider nicht wirklich weiterhelfen - schon ewig nichts mehr mit ncurses gemacht. Zwei Howtos aus meiner Linksamlung: eins (http://web.cs.mun.ca/~rod/ncurses/ncurses.html) und zwei (http://en.tldp.org/HOWTO/NCURSES-Programming-HOWTO/)

MfG Peschmä

LikeLaplace
17-10-2006, 20:22
Hallo Peschmä,

vielen Dank für deine Antwort und die beiden Links. Hat leider nur der zweite getan. Aber das hat gereicht.

[Lösung]

Zunächst den Code wie oben geschrieben. Nach den Ausgaben muss bevor andere Anweisungen kommen ein refresh() gesetzt werden. Ist bestimmt nicht die schönste Lösung, aber es funktioniert wenigstens. Um das Terminal nach Programmende weiter benutzen zu können setzt man vor dem return() bzw. exit() noch die Anweisung endwin().

Viele Grüsse,
LikeLaplace