Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;当循环没有响应时执行此操作_C++ - Fatal编程技术网

C++ C++;当循环没有响应时执行此操作

C++ C++;当循环没有响应时执行此操作,c++,C++,嘿,伙计们,我有一个do-while循环,它很简单,但是程序在运行时会进入无响应状态,这是循环 bool SetTime(const int hour,const int min,HWND sec) { do { time_t s=time(0); tm t=*localtime(&s); itoa(t.tm_sec,buf3,10); SetWindowText(sec,buf3);

嘿,伙计们,我有一个do-while循环,它很简单,但是程序在运行时会进入无响应状态,这是循环

bool SetTime(const int hour,const int min,HWND sec)
{
    do 
    {
        time_t s=time(0);  
        tm t=*localtime(&s);
        itoa(t.tm_sec,buf3,10);
        SetWindowText(sec,buf3);
        if (hour == t.tm_hour && min == t.tm_min)
        {
              exit(0);
        }
        Sleep(1000);
     }
     while( hour == t.tm_hour && min >t.tm_min);
 }

它每秒钟运行一次,当到达适当的时间时停止

假设由于HWND而使用Win32,则会阻塞事件循环。如果要延迟操作,请查看使用计时器。

在哪个操作系统上?使用哪种编译器?在哪个平台上?在这个任务中,您可能正在挂起程序主线程。尝试使用多线程。在Windows 7中使用Dev C++操作,当前两个参数是名为“hour”和“min”的整数时,“sec”是一个HWND,这是一个相当令人惊讶的现象。谢谢,我会尝试,我应该一起尝试删除HWND吗?@user2167455:与其比较是否相等,不如检查是否大于。根据其他任务和程序的运行情况,操作系统将您的任务安排在精确的时间和分钟的概率可能很低。@Gary感谢您的提示,SetTimer()是我最后一种没有尝试的循环类型,因为我认为它可能返回相同类型的无响应操作,但它通过了很好的循环,谢谢您的帮助,至于我的问题中所有的负面因素,谢谢,因为负面因素只会让我更加努力:)