asctime関数を利用する際、time_t型の暦時刻をtm構造体の要素別の時刻へ変換するために、事前にlocaltime関数を呼び出す必要がある。そのため、暦時刻から文字列への変換処理は2段階にわたることになる。
しかし、ctime関数を使うと、locatimel関数を呼び出すことなく、暦時刻から文字列への変換を一気に行えるようになる。
この関数を利用したプログラムをご紹介しよう。
なお、本プログラムは、
Windows 11 Home(23H2)上で、Visual Studio Code(1.93.1)を使用して作成し、gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0で コンパイルしている。
//現在の日付・時刻を表示(その3)ctime関数を利用
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t current = time(NULL);
printf("現在の日付・時刻:%s",ctime(¤t));
return 0;
}
実行結果
現在の日付・時刻:Wed Oct 23 07:25:25 2024
本プログラムの「ctime(¤t)」は、「asctime(localtime(¤t))」と同じ働きをする。
(参考)新・明解C言語 中級編 柴田 望洋(著)
コメント