[C++] Przerywanie wczytywania tekstu
Ostatnio zmodyfikowano 2017-10-25 19:30
SzymSzym Temat założony przez niniejszego użytkownika |
[C++] Przerywanie wczytywania tekstu » 2017-10-25 16:43:01 Czy jest możliwość, żeby przerwać oczekiwanie na wczytanie tekstu z wejścia? Chodzi mi o to, że np. chcę wczytać liczbę do zmiennej, ale jeśli użytkownik nic nie wpisze przez np. 5 sekund to przerywam wczytywanie i przypisuję zmiennej np. 0. Czy jest to możliwe w standardowym c++ czy trzeba np. w WinApi. |
|
ParseThisCode |
» 2017-10-25 17:33:33 Coś takiego, ale musisz przerobić pod swoje wymagania: #include <iostream> #include <thread> #include <chrono> #include <mutex> #include <condition_variable> using namespace std; condition_variable cv;
int value;
void read_value() { cin >> value; cv.notify_one(); }
int main() { cout << "Please enter the input: "; thread th( read_value ); mutex mtx; unique_lock < mutex > lck( mtx ); while( cv.wait_for( lck, chrono::seconds( 2 ) ) == cv_status::timeout ) { cout << "\nTime-Out!"; } cout << "You entered: " << value << '\n'; th.join(); return 0; }
|
|
mokrowski |
» 2017-10-25 19:30:32 Przecież std::async wystarczy. |
|
« 1 » |