BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ 一定時間処理を停止するにはどうすればよいでしょうか。

 標準ライブラリのclock関数をうまく利用することによって、一定時間処理を停止することができます。以下にプログラム例を示します。

/* 一定時間の経過を待つ */ #include <stdio.h> #include <time.h> /*--- xミリ秒経過するのを待つ ---*/ int sleep(unsigned long x) { clock_t s = clock(); clock_t c; do { if ((c = clock()) == (clock_t)-1) /* エラー */ return (0); } while (1000UL * (c - s) / CLOCKS_PER_SEC <= x); return (1); } int main(void) { int code; printf("開始\n"); code = sleep(10000); /* 10秒停止 */ printf("終了(%d)\n", code); return (0); }

 関数sleepは、xミリ秒だけ処理を停止する関数です。ただし、処理系や実行環境によって、clock関数によって得られる時間の精度は異なりますので、必ずしも正確ではないことに注意しましょう。


■ 根拠 ■
標準C §7.12.2 Time manipulation functions
標準C99 §7.23.2 Time manipulation functions
標準C++ §20.5 Date and Time

■ 参照 ■
FAQ 処理に要した時間を調べるにはどうすればよいでしょうか。
関数 clock関数

戻る

BohYoh.comロゴ