C语言遇到输入必须停止等待输入吗
例如:x=getch();程序运行到这里就会停止等待用户输入,如何设置超过一定时间不输入就跳过这个呢?...
例如:x=getch();
程序运行到这里就会停止等待用户输入,如何设置超过一定时间不输入就跳过这个呢? 展开
程序运行到这里就会停止等待用户输入,如何设置超过一定时间不输入就跳过这个呢? 展开
2个回答
展开全部
是的。
用下面方法测试键是否按了。按了就会越过while。
while( !_kbhit() ) _cputs( "Hit me!! " );
设置超过一定时间:
(1)先 取当前 时间,存起来。kaishi = time (NULL);
(2)进while( !_kbhit() ){};
(3)里面 加时间 检测。now = time (NULL);
(4)比较 检测到的 时间 与 存起来 的时间 差。dif = difftime (now,kaishi);
(5)时间 差 超过 则 跳走。
#include <conio.h>
#include <stdio.h>
#include <time.h>
time_t now,kaishi;
double dif;
.....
kaishi = time (NULL);
while( !_kbhit() ) {
_cputs( "Hit me!! " );
now = time (NULL);
dif = difftime (now,kaishi);
if (dif > t_limit) goto Lab;
}
x=getch();
....
Lab: ; // 超时跳到这行
return 0; // 程序结束
}
用下面方法测试键是否按了。按了就会越过while。
while( !_kbhit() ) _cputs( "Hit me!! " );
设置超过一定时间:
(1)先 取当前 时间,存起来。kaishi = time (NULL);
(2)进while( !_kbhit() ){};
(3)里面 加时间 检测。now = time (NULL);
(4)比较 检测到的 时间 与 存起来 的时间 差。dif = difftime (now,kaishi);
(5)时间 差 超过 则 跳走。
#include <conio.h>
#include <stdio.h>
#include <time.h>
time_t now,kaishi;
double dif;
.....
kaishi = time (NULL);
while( !_kbhit() ) {
_cputs( "Hit me!! " );
now = time (NULL);
dif = difftime (now,kaishi);
if (dif > t_limit) goto Lab;
}
x=getch();
....
Lab: ; // 超时跳到这行
return 0; // 程序结束
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询