【C言語】秒数をカウントする方法

この記事では、C言語で秒数をカウントする方法について解説します。

具体的には、time関数clock関数gettimeofday関数の3つの方法を紹介します。

これらの関数を使うことで、プログラムの実行時間や経過時間を計測することができます。

初心者の方でもわかりやすく、具体的なコード例も示していますので、ぜひ参考にしてください。

目次から探す

time関数を使った方法

time関数の概要

time関数は、C言語の標準ライブラリで提供されている関数の一つです。

この関数を使用することで、現在の時刻を取得することができます。

具体的には、1970年1月1日午前0時からの経過秒数を返します。

time関数を使用した秒数カウントの具体的な方法

以下に、time関数を使用して秒数をカウントする具体的な方法を示します。

#include <stdio.h>
#include <time.h>
int main() {
    time_t start_time, end_time;
    int seconds;
    // 開始時刻を取得
    start_time = time(NULL);
    // 何らかの処理を行う(ここでは5秒待つ)
    sleep(5);
    // 終了時刻を取得
    end_time = time(NULL);
    // 経過秒数を計算
    seconds = difftime(end_time, start_time);
    // 経過秒数を出力
    printf("経過秒数: %d秒\n", seconds);
    return 0;
}

上記のコードでは、time関数を使用して開始時刻と終了時刻を取得し、その差分を計算して経過秒数を求めています。

具体的な処理としては、5秒待つためにsleep関数を使用していますが、実際の処理は任意のものを行ってください。

実行結果は以下のようになります。

経過秒数: 5秒

このように、time関数を使用することで簡単に秒数をカウントすることができます。

clock関数を使った方法

clock関数の概要

clock関数は、プログラムの実行時間を計測するために使用される関数です。

この関数は、プログラムの開始からの経過時間をクロック単位で返します。

クロック単位は、プロセッサのクロック周波数に依存します。

clock関数を使用した秒数カウントの具体的な方法

clock関数を使用して秒数をカウントする具体的な方法を説明します。

#include <stdio.h>
#include <time.h>
int main() {
    clock_t start_time, end_time;
    double elapsed_time;
    start_time = clock(); // 開始時間を取得
    // ここに計測したい処理を記述する
    end_time = clock(); // 終了時間を取得
    elapsed_time = (double)(end_time - start_time) / CLOCKS_PER_SEC; // 経過時間を計算
    printf("経過時間: %.2f秒\n", elapsed_time);
    return 0;
}

上記のコードでは、clock関数を使用してプログラムの開始時間と終了時間を取得し、その差分を計算して経過時間を求めています。

経過時間はクロック単位で返されるため、CLOCKS_PER_SECで割ることで秒数に変換しています。

経過時間: 2.50秒

上記の例では、計測したい処理の前後に開始時間と終了時間の取得を行っています。

計測したい処理の部分には、実際に計測したい処理を記述してください。

なお、clock関数はプロセッサのクロック周波数に依存するため、同じプログラムでも実行環境によって結果が異なることがあります。

また、clock関数はCPU時間を計測するため、他のプロセスの実行時間も含まれることに注意してください。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す