VS控制台下计时器的问题

rentongdu rentongdu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想编一个控制台下的程序,想为程序加一个计时器,可是计时器只有在鼠标动的时候才会更新时间
下面是我的代码:
while (true)
{
if (a[m-1][n-1]==0)
{
system("CLS");
printf("YOU WIN IT");
Sleep(5000);
ExitProcess(0);
}

SetConsoleMode(hStdin, fdwMode);
ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead);
if (MouseClick(InBuf))
{
x=(InBuf.Event.MouseEvent.dwMousePosition.X-StartX)/2;
y=InBuf.Event.MouseEvent.dwMousePosition.Y-StartY;
if ((x>=0) && (x<=n-1)&&(y>=0)&&(y<=m-1)&&(a[y][x]>0))
{
flood(a,m,n,y,x);
gotoXY(0,0);
PrintBubble(a,m,n);
}
}
gotoXY(0,m);
PrintTime(StarTime);

}

我自己通过调试,确定问题应该在ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)这一句上,程序应该是在这里进入了一个循环,等待捕获鼠标事件,于是我尝试着加上判断,即修改成
if (!(ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)))
gotoXY(0,m);
PrintTime(StarTime);
后面跟上原来的内容,但是问题并没有解决
求高手帮忙看看
...全文
评论 6
收藏 已收藏
分享
返回顶部
rentongdu
其它技术问题 3,881 成员 9,044 内容