- 论坛徽章:
- 0
|
我对程序如下,运行程序发现程序无法停止,我查过了应该不是memcmp的问题,因为当时间超过了程序是可以停止的,进一步我发现GetNow()函数获取的时间如果在循环外是正确的,可是在循环内我只能看到秒在变化,无法观察到分钟在变,导致了程序无法停止,请问各位大侠,怎么会出现这种情况。
void GetNow(char *stamp)
{
struct tm *time_now;
time_t secs_now;
time(&secs_now);
time_now =localtime(&secs_now);
strftime(stamp, 80,"%Y-%m-%d %H:%:% ",time_now); printf("%s\n",stamp);
}
void main()
{
char timeStamp[30];
int timeFlag=1;
while(timeFlag)
{
sleep(5);
printf("%s\n","Sleeping" ;
GetNow(timeStamp);
//"2003-09-24 11:13:00",测试时间可以改变
if (memcmp(timeStamp,"2003-09-24 11:13:00",15)<0)
{
timeFlag=1;
printf("%s\n","timeFlag=1" ;
}
else
{
timeFlag=0;
printf("%s\n","timeFlag=0" ;
};
}//end while
} |
|