我想在控制台应用程序中创建一个蛇程序。 但在一个我困惑的地方。 我的问题是这样的:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
using namespace std;
int main() {
int a=2000;
while (1) {
cout << time(0)<<endl;
a -= 100;
_sleep(a);
**if (getch())break;
else continue;
}
}
我的问题在**中,我想从它那里做到这一点,直到我按下一个键。 例如,我想从它运行如下: 打印时间()。 a = 1900。 等1.9s。 打印时间()。 一个= 1800。 等1.8秒 //现在我按了一把钥匙。 break.//nd program
所以我发现答案我在conio.h库中使用了kbhit()。
答案 0 :(得分:0)
你可以试试这个。当然,你需要在父进程中做一些事情,让getchar()返回任何按键而不等待,例如使用_getchar()。
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <signal.h>
#include <conio.h>
using namespace std;
int main() {
pid_t id;
id = fork();
if(id)
{
getchar();
kill(id, SIGTERM);
}
else
{
int a=2000;
while (1) {
cout << time(0)<<endl;
a -= 100;
_sleep(a);
/*if (getch())break;
else continue;
*/
}
}
}