Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Przerywanie wczytywania tekstu

Ostatnio zmodyfikowano 2017-10-25 19:30
Autor Wiadomość
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.
P-166083
ParseThisCode
» 2017-10-25 17:33:33
Coś takiego, ale musisz przerobić pod swoje wymagania:

C/C++
#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;
}
P-166084
mokrowski
» 2017-10-25 19:30:32
Przecież std::async wystarczy.
P-166093
« 1 »
  Strona 1 z 1