difftime

2 つの暦時刻 (calendar time) の差を求めます.

#include <time.h>
double difftime(
    time_t time1,
    time_t time0
);

difftime 関数は 2 つの暦時刻の差 (time1 - time0) を求め,その差を秒単位で返します.

戻り値

  • 2 つの暦時刻の差 (秒単位)

C言語サンプルプログラム

difftime 関数を使用して 2 つの時間の差を求めるサンプルプログラムを以下に示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* main */
int main(void) {
    clock_t time1, time0;
    int i, j;
    double diff;

    /* 暦時刻を取得 */
    time0 = time(NULL);

    /* 時間稼ぎ */
    for ( i = 0; i <= 100000; i++ ) {
        for ( j = 0; j<= 10000; j++ );
        if ( i % 10000 == 0 ) {
            putchar('-');
        }
    }

    /* 時間稼ぎ後の暦時刻を取得 */
    time1 = time(NULL);

    /* 差分を求める */
    diff = difftime(time1,time0);

    /* 差分を表示 */
    printf("\n15行目〜21行目の処理にかかった時間: %.3f秒\n", diff);

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

-----------
15行目〜21行目の処理にかかった時間: 3.000秒

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.