如果没有输入,则在一定时间后退出循环

如果没有输入,则在一定时间后退出循环,第1张

概述我只是想知道是否可能以及如何实现此功能,如果没有来自用户的输入,我们将退出循环.例如,如果用户在1分钟后没有输入任何内容,我想退出循环.这是我的C代码: #include <stdio.h>#include <conio.h>#include <time.h>int main(void){ int x; time_t end = time(0) + 60; pri 我只是想知道是否可能以及如何实现此功能,如果没有来自用户的输入,我们将退出循环.例如,如果用户在1分钟后没有输入任何内容,我想退出循环.这是我的C代码:
#include <stdio.h>#include <conio.h>#include <time.h>int main(voID){    int x;    time_t end = time(0) + 60;    printf("Enter a number : ");    while (time(0) < end)    {        if((scanf("%d",&x)) != EOF || (getchar() != '\n'))        {            time_t end2 = time(0) + 60;            while(time(0) < end2);            main();        }        else        {            printf("%d",x);            main();        }    }    main();}
解决方法 使用select()函数为scanf设置超时

以下代码是如何使用它的示例.

#include <stdlib.h>#include <stdio.h>#include <sys/time.h>int main(voID){    int x;    fd_set          set;    struct          timeval timeout = {0};    FD_ZERO(&set);   while(1)   {        timeout.tv_sec = 30;        FD_SET(fileno( stdin ),&set);        printf ("enter a number:");        fflush (stdout);        if (select(FD_SETSIZE,&set,NulL,&timeout))        {           scanf("%d",&x);           printf("The number you put is %d\r\n",x);        }        else        {                printf("\r\nTimeout: Stop reading\r\n");                break;        }    }}
总结

以上是内存溢出为你收集整理的如果没有输入,则在一定时间后退出循环全部内容,希望文章能够帮你解决如果没有输入,则在一定时间后退出循环所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1244191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存