C & C++ FAQ
|
C | C++ | 一定時間処理を停止するにはどうすればよいでしょうか。 |
関数sleepは、xミリ秒だけ処理を停止する関数です。ただし、処理系や実行環境によって、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); }
標準C | §7.12.2 | Time manipulation functions |
標準C99 | §7.23.2 | Time manipulation functions |
標準C++ | §20.5 | Date and Time |
FAQ | 処理に要した時間を調べるにはどうすればよいでしょうか。 |
関数 | clock関数 |