我目前正在開發一個c項目,我試圖從系統獲取日期並將其編譯成字符串。在c中建立一個日期字符串
我對c非常陌生,所以我現在正在學習,但我無法完成這項工作。下面是我
time_t now = time(NULL);
struct tm *t = localtime(&now);
char currentDate[13];
char day[3];
char month[3];
char year[5];
char hour[3];
char min[3];
sprintf(day, "%02d", t->tm_mday, sizeof(day));
sprintf(month, "%02d", t->tm_mon+1, sizeof(month));
sprintf(year, "%04d", t->tm_year + 1900, sizeof(year));
sprintf(hour, "%02d", t->tm_hour, sizeof(hour));
sprintf(min, "%02d", t->tm_min, sizeof(min));
strcat(currentDate, day);
strcat(currentDate, month);
strcat(currentDate, year);
strcat(currentDate, hour);
strcat(currentDate, min);
printf("Current Date: %s", currentDate);
代碼當它的printf的只是打印的垃圾例如負載
當前日期:AAXA·Z¤ÿ·AAAA©Ã'Ãÿ·^XÃé< 95>úþ·^ F ^發^ P^_
什麼我做錯了嗎?
你有在每個字符串末尾空終止? –
順便說一句,你可能想看看['ctime()'](http://en.cppreference.com/w/c/chrono/ctime)函數 –
,它看起來你有兩個變量'currentDate ',這是不允許 –