Forum: PC-Programmierung C Konsole konzeptionelle Frage


von ich (Gast)


Lesenswert?

Hallo zusammen,

ich bastle z.Z. an einem Konsolenprogramm unter Win.
Iststand: Ein Programm in Endlosschleife, das regelmäßig ein paar Werte 
auf der Konsole ausgibt.

Sollstand: Ich suche jetzt eine Möglichkeit in den Ablauf per Konsole 
einzugreifen. Gibt es die Möglichkeit eine zweite Konsole zu öffnen, 
oder eine Einfensterlösung? Mit Win-API und Co würde man quasi ein 
Eingabe- und ein Ausgabefeld erstellen - fertig. Gibt es hier Konzepte 
für die Konsole?

Am liebsten hätte ich die unterste Zeile der Konsole für die Eingabe 
reserviert.

von test (Gast)


Lesenswert?

Warum Konsole wenn man dann am Ende doch wieder irgendwelche Elemente 
reinfummeln will?

Erstelle doch einfach ein Fenster mit den Elementen die du willst.
Du kannst da ja auch deine Textbox haben in der du die Werte 
kontinuierlich ausgibst.

von Daniel A. (daniel-a)


Lesenswert?

ncurser?
Oder einfach immer auf der letzten Zeile löschen, ausgeben, newline und 
Eingabezeile neu zeichnen?

von Nop (Gast)


Lesenswert?

ich schrieb:

> Sollstand: Ich suche jetzt eine Möglichkeit in den Ablauf per Konsole
> einzugreifen.

Du kannst einfach die Tastatur nicht-blockierend auslesen. Das ist aber 
dann abhängig vom OS, dieser Code-Teil sollte also sauber gekapselt 
werden, damit Du das später noch portieren kannst. Unter Windows gibt's 
dafür getch() und kbhit() aus conio.h, zumindest bei manchen Compilern.

Eine andere Lösung wäre, daß Du mit zwei Threads arbeitest (geht auch 
bei Konsolen-Anwendungen), einen für die Ausgabe, und einen für die 
Eingabe. Letzterer kann dann natürlich auch auf die Eingabe blockierend 
warten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.