0

这是我的代码。

 #include<iostream>
int main()
{
    std::string str;
    while(true)
    {
    std::cout<<"enter string \n";
    alarm(3);
    getline(std::cin,str);
       // calling another function in some other class,
           and return to here (If not entered any string in 3 sec) 
    }
    return 0;
}

2 秒后它退出我的程序。但是,我想继续调用另一个函数并返回相同的 getline()。是否可以??谢谢

4

1 回答 1

2

如果您阅读参考页面,alarm您会看到:

该功能应使系统在经过秒指定的实时秒数后为进程alarm()生成信号。SIGALRM

您需要捕获SIGALRM信号,例如通过使用sigaction系统调用。

于 2013-03-21T07:02:35.310 回答