2010-12-15 11 views
1

Ich habe ein Problem, sagen wir, ich habe eine kontinuierliche while-Schleife, und im Inneren gibt es eine Variable x, die in einigen Berechnungen verwendet wird. Wie sende ich eine Eingabe von der Tastatur an die Schleife, um die Variable x innerhalb der Schleife zu ändern, ohne die Schleife in C++ zu stoppen? DankeWie senden Sie eine Eingabe in eine Endlosschleife? (C++)

+5

Sie möchten eine nicht blockierende Tastatureingabe. Ich denke, das hängt sehr vom Betriebssystem ab, also sollten Sie angeben, welche Plattform Sie verwenden. – onemasse

+0

Könnten Sie nicht einfach irgendeine Art von Tastaturpuffer überprüfen oder in Ihrer Schleife unterbrechen? –

+0

Ich laufe Linux – chutsu

Antwort

1

Wenn Sie Linux verwenden, verwenden Sie am besten ncurses. Die S-lang Bibliothek wird auch von einigen benutzt, aber ich habe keine Erfahrung damit. Multithreading ist nicht erforderlich.

+0

Aber was ist mit Signalen? Kann ich Signale nicht verwenden, um die Variablen innerhalb einer bereits laufenden Schleife zu ändern? – chutsu

+0

Natürlich könnten Sie wahrscheinlich SIGALRM verwenden, um die Tastatur abzufragen, aber warum nicht einfach die Tastatur aus der Schleife abfragen? – onemasse

0

Wenn es sich um Benutzer-Software handelt, würde ich mich für den Multi-Thread-Ansatz entscheiden, wie von smichaud erwähnt. Wenn es sich um ein Werkzeug handelt (und die Leistung kein Problem ist), könnten Sie kontinuierlich von einer Datei lesen und diese Datei von außen ändern, da dies die einfachste Implementierung ist.

Verwandte Themen