首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个值一段时间后变更

2013-07-09 
一个值一段时间后变化10s后,把a置为0,当前继续其他的事情,异步操作。int a1//a 10后变为0if(a0)printf(

一个值一段时间后变化
10s后,把a置为0,当前继续其他的事情,异步操作。

int a=1;
//a 10后变为0
if(a==0)
    printf("a=%d\n",a);
else
{
    speelp(1);
    printf("a=%d\n",a);
}

10s内会输出9个a=0,一个a=1.


[解决办法]
SetTimer设置时间好了
[解决办法]
可以的
[解决办法]
参考http://blog.csdn.net/tinyhare/article/details/8476796

引用:
怎么实现呢?有相应的函数么?

[解决办法]
//怎样每隔两秒修改一个变量的值 并且放在程序后台进行。
#include <stdio.h>
#include <time.h>
#include <sys/timeb.h>
#include <process.h>
#include <windows.h>
int var1;
CRITICAL_SECTION CS;
struct tm *now;
struct timeb tb;
char datestr[16];
char timestr[16];
char mss[4];
void thdA(void *pcn) {
    while (1) {
        Sleep(2000);
        EnterCriticalSection(&CS);
        var1++;
        LeaveCriticalSection(&CS);
    }
}
int main() {
    var1=1;
    InitializeCriticalSection(&CS);
    _beginthread((void(__cdecl *)(void *))thdA,0,(void *)1);
    while (1) {
        Sleep(500);
        EnterCriticalSection(&CS);
        ftime(&tb);
        now=localtime(&tb.time);
        sprintf(datestr,"%04d-%02d-%02d",now->tm_year+1900,now->tm_mon+1,now->tm_mday);
        sprintf(timestr,"%02d:%02d:%02d",now->tm_hour     ,now->tm_min  ,now->tm_sec );


        sprintf(mss,"%03d",tb.millitm);
        printf("%s %s.%s var1==%d\n",datestr,timestr,mss,var1);
        if (var1==9) {
            LeaveCriticalSection(&CS);
            break;
        } else {
            LeaveCriticalSection(&CS);
        }
    }
    DeleteCriticalSection(&CS);
    return 0;
}
//2013-06-19 16:51:02.468 var1==1
//2013-06-19 16:51:02.968 var1==1
//2013-06-19 16:51:03.468 var1==1
//2013-06-19 16:51:03.968 var1==1
//2013-06-19 16:51:04.468 var1==2
//2013-06-19 16:51:04.968 var1==2
//2013-06-19 16:51:05.468 var1==2
//2013-06-19 16:51:05.968 var1==2
//2013-06-19 16:51:06.468 var1==3
//2013-06-19 16:51:06.968 var1==3
//2013-06-19 16:51:07.468 var1==3
//2013-06-19 16:51:07.968 var1==4
//2013-06-19 16:51:08.468 var1==4
//2013-06-19 16:51:08.968 var1==4
//2013-06-19 16:51:09.468 var1==4
//2013-06-19 16:51:09.968 var1==4
//2013-06-19 16:51:10.468 var1==5
//2013-06-19 16:51:10.968 var1==5
//2013-06-19 16:51:11.468 var1==5
//2013-06-19 16:51:11.968 var1==5
//2013-06-19 16:51:12.468 var1==6
//2013-06-19 16:51:12.968 var1==6
//2013-06-19 16:51:13.468 var1==6
//2013-06-19 16:51:13.968 var1==6
//2013-06-19 16:51:14.468 var1==7
//2013-06-19 16:51:14.968 var1==7
//2013-06-19 16:51:15.468 var1==7
//2013-06-19 16:51:15.968 var1==7
//2013-06-19 16:51:16.468 var1==8
//2013-06-19 16:51:16.968 var1==8
//2013-06-19 16:51:17.468 var1==8
//2013-06-19 16:51:17.968 var1==8
//2013-06-19 16:51:18.468 var1==9
//


[解决办法]
SetTimer

热点排行