2013-03-07 25 views
0
#include<time.h> 
#include<stdio.h> 

int main(void) 
{ 
time_t timer; 
int i; 
char mon[4]; 
char *ti=0; 
ti=asctime(localtime(&timer)); 
ti=ti+4; 
for(i=0;i<3;i++) 
{ 
    mon[i]=*ti++; 

} 
    mon[3]='\0'; 

timer=time(NULL); 
    printf("The current time is %s\n",mon); 
    return 0; 
} 

嗨,誰能expalin爲什麼asctime使用「星期一」存儲從asctime字符串月份和打印在控制檯上時,它會返回錯誤的時間指針sometimes.Iam,它有時顯示「月」有時候還有一個月。asctime時間輸出誤差

回答

2

您正在使用timer而無需初始化它。調用localtime前,請嘗試:

time(&timer); 

此外,一個更簡單的方式做到這一點是:

ctime(&timer); 
+0

雅我forgot..Thanks mate..that工作:) – Uday 2013-03-07 07:02:16