www.pudn.com > PK1111.rar > time.c


#include  
#include  
#include  
#include  
#include  
#include  
 
char *GetTime(); 
char *GetFmtTime(); 
int timeoutopen(int timeout); 
int timeoutclose(); 
 
static char times[30]; 
char *GetTime() 
{ 
  time_t t; 
  struct tm tm; 
 
  memset(times,0,sizeof(times)); 
  t=time(NULL); 
  memcpy(&tm,localtime(&t),sizeof(struct tm)); 
  sprintf(times,"%04d%02d%02d%02d%02d%02d", 
                    tm.tm_year+1900,tm.tm_mon+1,tm.tm_mday, 
                    tm.tm_hour,tm.tm_min,tm.tm_sec); 
  return(times); 
} 
 
char *GetFmtTime() 
{ 
  time_t t; 
  struct tm tm; 
 
  memset(times,0,sizeof(times)); 
  t=time(NULL); 
  memcpy(&tm,localtime(&t),sizeof(struct tm)); 
  sprintf(times,"%04d/%02d/%02d %02d:%02d:%02d", 
                    tm.tm_year+1900,tm.tm_mon+1,tm.tm_mday, 
                    tm.tm_hour,tm.tm_min,tm.tm_sec); 
  return(times); 
} 
 
static void (*alrm_old)(int); 
void   timeout_p(int v_sig) 
{  
  return; 
} 
 
int timeoutopen(int timeout) 
{    
    alrm_old= signal(SIGALRM,timeout_p); 
    alarm(timeout); 
} 
int timeoutclose() 
{   int timeleft; 
    timeleft=alarm(0); 
    signal(SIGALRM,alrm_old); 
    return(timeleft); 
} 
 
int TimeOut(int fd,int timeout) 
{ 
  struct timeval t; 
  fd_set fdset; 
 
  t.tv_sec=timeout; 
  t.tv_usec=0; 
   
  FD_ZERO(&fdset); 
  FD_SET(fd,&fdset); 
 
  select(fd+1,&fdset,NULL,NULL,&t); 
  
  if (FD_ISSET(fd,&fdset)) 
  { 
    ShowMsg("fd %d can been read ! \n",fd); 
    return(0); 
  } 
  else 
  { 
    ShowMsg("fd %d can not been read now! timeout=%d \n",fd,timeout); 
    return(1); 
  } 
} 
 
 
/*main() 
{ int i,j; 
  char c[50]; 
 i=getpid();j=getppid(); 
 printf("pid=%d ppid=%d\n",i,j); 
 getHostTime(c); 
 printf("time=%s\n",c); 
}*/ 
/* 
main() 
{ 
  printf("time=%s\n",GetTime()); 
  printf("fmttime=%s\n",GetFmtTime()); 
} 
*/ 
/*main() 
{ char buf[30]; int timeleft; 
  timeoutopen(30); 
  scanf("%s",buf);  
  timeleft=timeoutclose(); 
  printf("timeleft=%d\n",timeleft); 
}*/  
 
/* 
char MsgLog[30]="./test.log"; 
main() 
{ 
  if (TimeOut(0,5)) printf("timeout \n"); 
  else printf("can read\n"); 
}*/