ctime, ctime_s
|
定義先ヘッダ
<time.h>
|
||
| (1) | ||
|
char
*
ctime
(
const
time_t
*
timer
)
;
|
(C23まで) | |
|
[
[
deprecated
]
]
char
*
ctime
(
const
time_t
*
timer
)
;
|
(C23以降) | |
|
errno_t ctime_s
(
char
*
buf, rsize_t bufsz,
const
time_t
*
timer
)
;
|
(2) | (C11以降) |
-
-
bufまたはtimerがnullポインタである -
bufszが 26 より小さいか、 RSIZE_MAX より大きい
-
-
すべての境界チェック付き関数と同様に、
ctime_sは、実装によって __STDC_LIB_EXT1__ が定義されており、かつユーザーが <time.h> をインクルードする前に __STDC_WANT_LIB_EXT1__ を整数定数 1 に定義している場合にのみ利用可能であることが保証される。
結果の文字列は以下の形式を持ちます:
Www Mmm dd hh:mm:ss yyyy\n
-
Www- 曜日(Mon、Tue、Wed、Thu、Fri、Sat、Sunのいずれか)。 -
Mmm- 月(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Decのいずれか)。 -
dd- 月の日 -
hh- 時間 -
mm- 分 -
ss- 秒 -
yyyy- 年
この関数はローカライゼーションをサポートしていません。
目次 |
パラメータ
| timer | - | time_t オブジェクトへのポインタ。表示する時間を指定します |
| buf | - |
少なくともサイズ
bufsz
のchar配列の最初の要素へのポインタ
|
| bufsz | - |
出力する最大バイト数。通常は
buf
が指すバッファのサイズ
|
戻り値
ctime
の間で共有される可能性があり、これらの関数のいずれかが呼び出されるたびに上書きされる可能性があります。
buf
が指す配列に書き出されている)、失敗時は非ゼロ(この場合、終端ナル文字は常に
buf
[
0
]
に書き込まれる。ただし
buf
がナルポインタの場合、または
bufsz
がゼロまたは
RSIZE_MAX
より大きい場合は除く。
注記
ctime
は静的データへのポインタを返し、スレッドセーフではありません。さらに、これは静的
tm
オブジェクトを変更し、これは
gmtime
および
localtime
と共有される可能性があります。POSIXはこの関数を廃止予定とし、代わりに
strftime
の使用を推奨しています。C標準も
ctime
および
ctime_s
の代わりに
strftime
を推奨しています。なぜなら
strftime
はより柔軟でロケール対応であるためです。
ctime
の動作は、25文字を超える文字列を生成する
time_t
の値(例:10000年)に対して未定義です。
例
出力例:
Tue May 26 21:51:03 2015 Tue May 26 21:51:03 2015
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.27.3.2 ctime関数 (p: 287-288)
-
- K.3.8.2.2 ctime_s関数 (p: 454)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.27.3.2 ctime関数 (p: 393)
-
- K.3.8.2.2 ctime_s関数 (p: 626)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.23.3.2 ctime関数 (p: 342)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.12.3.2 ctime関数
関連項目
|
(C23で非推奨)
(C11)
|
tm
オブジェクトをテキスト表現に変換する
(関数) |
|
tm
オブジェクトをカスタムテキスト表現に変換する
(関数) |
|
|
C++ドキュメント
for
ctime
|
|