如何限制cin中的输入时间限制?

时间:2014-04-02 17:42:03

标签: c++ user-input cin time-limiting

我想创建一个代码片段,等待一段时间(比如3秒),如果你给了 输入....精细
如果您在3秒内未提供输入,则该变量应获取一些默认值(由我们设置)。

我如何制作这样的片段?

1 个答案:

答案 0 :(得分:2)

也许这段代码有帮助:

#include <iostream>
#include <thread>
#include <chrono>

int getVal(int defaultValue)
{
    int val=0;
    std::thread t1([&](){
        std::cin>>val;
    });
    std::this_thread::sleep_for(std::chrono::seconds(3));
    t1.detach();

    if(val==0)
        val=defaultValue;
    return val;
}

int main()
{
    std::cout<<getVal(123);
}