1

私は怒っていますか?これをx86_64で実行しています。

#include <stdio.h>
#include <time.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    sleep(1);
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    sleep(1);
    printf("Clock: %f\n", clock() / (double)CLOCKS_PER_SEC);
    return 0;
}

このプリント

時計:0.002880
時計:0.002968
時計:0.003019

明らかにラインで1秒待機しsleep(1)ますが、出力は明らかに間違っています。

それがうまくいかない場合、ポータブルCの代替品はありますか?

4

2 に答える 2

4

私はアホです。使用されたプロセッサ時間をclock()返します。

于 2012-11-22T10:36:03.947 に答える
0

変数を宣言でき time_t t1,t2; t1 = time(NULL); sleep(1); t2 = time(NULL); ます。t1とt2の値をデバッグおよび表示できます。http://www.cplusplus.com/reference/clibrary/ctime/time/から参照できると思います

于 2012-11-22T10:50:29.823 に答える