规定时间内输入
int i=5;等待3秒
if 用户输入,则把值赋给i,输出i
else 则直接输出i=5
//用户在三秒内可以输入也可以不输入
求用c语言实现 ctime库了解一下 BngThea 发表于 2018-6-4 18:42
ctime库了解一下
时间类函数也做不了
你可以用kbhit()函数
不知这样是否可行
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdarg.h>
int TimeoutScanf(int sec, const char *fmt, ...)
{
time_t begin = time(NULL);
time_t end = begin + sec;
while(1)
{
if(time(NULL) == end)
break;
if(kbhit())
{
va_list ap;
va_start(ap, fmt);
int ret = vscanf(fmt, ap);
va_end(ap);
return ret;
}
}
return -1;
}
int main(void)
{
int x = 0;
TimeoutScanf(3, "%d", &x);
printf("%d\n", x);
return 0;
}
不行哎
页:
[1]