C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果没有输入,则在一定时间后退出循环大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是想知道是否可能以及如何实现功能,如果没有来自用户的输入,我们将退出循环.例如,如果用户在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;
        }
    }
}

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。