トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 | カレンダー時間を文字列化する。 | |
ヘッダ | time.h | |
形式 | errno_t asctime_s(char* s, rsize_t maxsize, const struct tm* timeptr); | |
引数 | s | 文字列化された結果を受け取るメモリアドレス。ヌルポインタであってはならない。 |
maxsize | 引数s が指すバッファの大きさ。26未満および RSIZE_MAX より大きい値であってはならない。 | |
timeptr |
正規化されている日時の情報を格納した tm構造体へのポインタ。ヌルポインタであってはならない。 |
|
戻り値 | 成功したときは 0、失敗したときは 0以外 | |
詳細 |
tm構造体の内容に応じて、それを文字列に整形する。フォーマットは、“Wed Apr 04 16:18:50 2018\n” のような形になり、文字数はつねに一定である。終端文字の手前には改行文字がある。
asctime関数の安全性を高めた関数である。asctime関数と違い、結果を静的なオブジェクトに生成してそのポインタを返すのではなく、呼び出し元が用意したバッファに受け取るかたちになっているため、ほかの関数との競合でデータが破損することがなくなっている。また、バッファの大きさを引数maxsize でチェックする。実行時に検出できる問題があれば実行時制約違反となる。
実行時制約違反があったとき、引数s がヌルポインタでなく、引数maxsize が 0 でなく RSIZE_MAX より大きくない場合には、
|
|
注意 | ||
使用例 |
実行結果:
|
|
関連 |
asctime関数はこの関数の元になった古い関数であるが、C23 からは非推奨となっている。 変換前の形式が time_t型である場合は、ctime_s関数を使える。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |