为了账号安全,请及时绑定邮箱和手机立即绑定

为什么它一直输出,而不是按我说的每五秒输出一次呢?

为什么它一直输出,而不是按我说的每五秒输出一次呢?

茅侃侃 2022-06-14 15:11:49
#include"windows.h"#include"iostream.h"main(){#define ID_TIMER 1SetTimer(NULL,ID_TIMER,5000,NULL);while(1){cout<<"你好!"<<endl;}}把OnTimer()代码也写好让程序可以按我说的运行好不?不好意思,我很笨。
查看完整描述

4 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

你那是在启动一个计时器之后进入一个死循环,“你好”之所以不停地出现就是因为这个死循环啊。
计时器一般不是这么用的,SetTimer()是设定计时器间隔时间,每个一定时间会自动产生WM_TIMER消息,你可以重载OnTimer()函数来处理这个消息,当然首先要添加消息映射ON_WM_TIMER()

查看完整回答
反对 回复 2022-06-20
?
慕少森

TA贡献2019条经验 获得超9个赞

把你的cout<<"你好!"<<endl; 加到OnTimer()函数中去
就行了
计时器的原理是每隔一段固定时间,调用OnTimer()函数
所以要在OnTimer()函数中干你要做的事情

查看完整回答
反对 回复 2022-06-20
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

#include<windows.h>
#include<iostream.h>
int main()
{
int helloTime=0;

while(helloTime<5)
{
cout<<"你好"<<endl;
Sleep(5000);
helloTime++;
}

return 0;
}

查看完整回答
反对 回复 2022-06-20
?
呼唤远方

TA贡献1856条经验 获得超11个赞

你还要OnTimer干啥,你的main()执行完了就死掉了,谁还去找OnTimer啊.
用Sleep不就完了吗?

查看完整回答
反对 回复 2022-06-20
  • 4 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号