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 時間クロック形式を使用します。曜日は、Sun、Mon、Tue、Wed、Thu、Fri、および Sat に省略されます。月の省略形は、Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、および Dec です。すべてのフィールドには固定幅があります。1 桁しかない日付は、ゼロがその前に置かれます。 改行文字 (\n) および NULL 文字 (\0) がストリングの最後の位置を占めます。
戻り値
ctime_r() 関数は、文字ストリングの結果を指すポインターを戻します。
関数が正常に実行されなかった場合、NULL を戻します。ctime_r() 関数の呼び出しは次の式と同じです。
asctime_r(localtime_r(&anytime, buf2), buf)
ここで、buf は文字を指すポインターです。例
次の例では、ctime_r() を使用してシステム・クロックをポーリングします。ポーリングの次に、現在の日時を示すメッセージを出力します。
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t ltime;
char buf[50];
time(<ime);
printf("the time is %s", ctime_r(<ime, buf));
}
関連情報
- asctime() — 時間から文字ストリングへの変換
- asctime_r() — 時間から文字ストリングへの変換 (再始動可能)
- ctime() — 時間から文字ストリングへの変換
- ctime64() — 時間から文字ストリングへの変換
- ctime64_r() — 時間から文字ストリングへの変換 (再始動可能)
- gmtime() — 時間の変換
- gmtime64() — 時間の変換
- gmtime64_r() — 時間の変換 (再始動可能)
- gmtime_r() — 時間の変換 (再始動可能)
- localtime() — 時間の変換
- localtime64() — 時間の変換
- localtime64_r() — 時間の変換 (再始動可能)
- localtime_r() — 時間の変換 (再始動可能)
- mktime() — 地方時の変換
- mktime64() — 地方時の変換
- strftime() — 日付/時刻からストリングへの変換
- time() — 現在時刻の判別
- time64() — 現在時刻の判別
- <time.h>