iostream cin Eingabe (Chat-Programm)
-
hi,
die Funktion std::cin, blockiert die ganze Anwendung und wartet auf eine Eingabe. Jetzt wollte ich wissen, ob es möglich ist die Anwendung nach einer bestimmten eingegebenen Zeit weiter laufen zu lassen, wenn nichts eingegeben wurde.
Also#include <iostream> using namespace std; int main() { char Buffer[20]; cin >> Buffer; // ohne Eingabe weiter laufen }
das ganze soll ein Chat-Programm für Nezwerke unter DOS werden, für Anregungen in die Richtung wie man das unter DOS realisieren kann wäre ich auch dankbar.
-
du mußteste dir mit kbhit() und getch() oder getche() eine eigene eingabe bauen.
-
ist das schwer und wie lange brauch ich dafür oder gibt es schon fertige Modelle
-
Siehe FAQ. Eine einfache Schleife sollte reichen.
// pseudocode time cur = getCurrentTime(); while(cur + zeit > getCurrentTime()) { if(kbhit()) { char c = getch(); if(c == '\r') break; str += getch(); } } // zeitabgelaufen oder return eingegeben
MfG SideWinder
-
Alexander Heit schrieb:
ist das schwer und wie lange brauch ich dafür oder gibt es schon fertige Modelle
nur zeigen einlesen, an einen string hängen und bei enter fertig sein, geht in minuten.
//vorschlag, ungetestet string input(int maxtime){ string result; time_t end=time()+maxtime; do{ if(kbhit()){ char ch=getche(); if(ch==13) break; end=time()+maxtime; } esle{ delay(100); } }while(time()<end); }