この記事では、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時間を計測するため、他のプロセスの実行時間も含まれることに注意してください。