【发布时间】:2013-10-24 14:23:24
【问题描述】:
我这里有一个代码,它可能会在继续之前延迟 10 秒,但我想添加一个功能,用户可以等待该延迟或按任意键继续,我知道它不会像 @987654323 @有什么办法吗?
#include <stdio.h>
#include <conio.h>
#include <dos.h>
void main(){
clrscr();
printf("Press Any Key or Wait for 10 Seconds to Continue");
delay(10000);
//getch();
}
【问题讨论】:
-
你可以用线程很好地做到这一点。你对此了解很多吗?
-
您可以获取一个时间戳并执行一个繁忙的等待循环,该循环在按下某个键或新的时间戳显示 10 秒过去时结束
-
这个答案为 IX'ish(非 Windows)系统提供了一种方法:stackoverflow.com/a/18289845/694576 它采用相反的方法:进入阻塞读取并在一定时间后取消它。
-
@alk 先生,我只学习 C,正如我的标题中所说的那样,ruakh 已经编辑过,我也在我的编译器中尝试过你的代码,因为我还不知道 C++,所以我不知道是不是我的问题是从错误开始有很多错误 - 找不到 UNISTD.h 标头,显然我没有那个标头...
标签: c