ctime_r ()- 將時間轉換為字串 (可重新啟動)

格式

#include <time.h>
char *ctime_r(const time_t *time, char *buf);

語言層次

XPG4

安全執行緒

區分語言環境

現行語言環境的 LC_TOD 種類可能會影響此函數的行為。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

此函數是可重新啟動的 ctime() 函數版本。

ctime_r() 函數會以字串形式將 time 所指向的時間值轉換為當地時間。 時間值通常是透過呼叫 time() 函數來取得。

ctime_r() 函數所產生的字串結果正好包含 26 個字元,其格式如下:
   "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n"
例如:
   Mon Jul 16 02:03:55 1987\n\0

ctime_r() 函數使用 24 小時制格式。 日期縮寫為: SunMonTueWedThuFriSat。 月份縮寫為: JanFebMarAprMayJunJulAugSepOctNovDec。 所有欄位都有固定寬度。 只有一個數字的日期前面會有零。 換行字元 (\n) 和空值字元 (\0) 佔據字串的最後兩個位置。

回覆值

ctime_r() 函數會傳回字串結果的指標。 如果函數不成功,則會傳回 NULL。 呼叫 ctime_r() 相當於:
   asctime_r(localtime_r(&anytime, buf2), buf)
其中 buf 是 char 的指標。

範例

此範例會使用 ctime_r()來輪詢系統時鐘。 然後,它會列印一則訊息,提供現行日期和時間。
#include <time.h>
#include <stdio.h>
 
int main(void)
{
   time_t ltime;
   char buf[50];
 
   time(&ltime);
   printf("the time is %s", ctime_r(&ltime, buf));
}

相關資訊