日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
ctime, ctime_r |
1970 年 1 月 1 日 00:00:00 からの経過時間 (秒数) を, asctime関数で生成される形式の ASCII 文字列に変換します。
#include <time.h>関数バリアント _DECC_V4_SOURCE および _VMS_V6_SOURCE 機能テスト・マクロを定義してコンパイルすると,OpenVMS Version 7.0 より前の動作に相当するこの関数のローカル・タイム・ベースのエントリ・ポイントが有効になります。char *ctime (const time_t *bintim);
char *ctime_r (const time_t *bintim, char *buffer); (ISO POSIX-1)
bintim
変換する時間値 (秒数) を指定する変数を指すポインタ。buffer
長さが 26 バイト以上の文字列の配列を指すポインタ。この配列は,生成された日付/時刻文字列を格納するために使用されます。
ctime関数と ctime_r関数は, bintimによって示される時刻を 26 文字の文字列に変換し,この文字列を指すポインタを返します。ctime_r関数と ctime関数の相違点は, ctime_r関数が結果をユーザ指定バッファに格納するのに対し, ctime関数は HP C RTL によって割り当てられたスレッド固有の静的メモリに結果を格納する点です。 ctimeまたは asctimeを再び呼び出すと,スレッド固有の静的メモリに格納されている結果は上書きされる可能性があります。結果を保存する必要がある場合は,コピーを作成しなければなりません。
正常終了すると, ctimeは文字列を指すポインタを返します。 ctime_rは 2 番目の引数を返します。異常終了すると,これらの関数は NULL ポインタを返します。
time_t型は,次に示すように <time.h>ヘッダ・ファイルに定義されています。
typedef long int time_t
ctime関数は, tzsetを呼び出したかのように動作します。
注意
一般に,UTC ベースの時刻関数は,プロセス単位のデータであるメモリ内のタイム・ゾーン情報に影響を与える可能性があります。しかし,アプリケーションの実行中,システム・タイム・ゾーンが変化せず (これは一般的なケースです),タイム・ゾーン・ファイルのキャッシュが有効に設定されている場合 (これはデフォルトです),時刻関数 asctime_r, ctime_r, gmtime_r, localtime_rの _rバリアントはスレッド・セーフで,かつ AST リエントラントです。しかし,アプリケーションの実行中にシステム・タイム・ゾーンが変化する可能性がある場合や,タイム・ゾーン・ファイルのキャッシュが有効に設定されていない場合は, UTC ベースの時刻関数のバリアントはいずれも第 3 の関数クラスに属し,これはスレッド・セーフでも AST リエントラントでもありません。
x 正常終了した場合は, 26 文字の ASCII 文字列を指すポインタ。 NULL 異常終了を示します。
目次 | 索引 |
|