C ++ calculando intervalos de tempo

Eu quero calcular intervalos de tempo (em 1/10 de 1 segundo) entre alguns eventos que acontecem no meu programa. Assim eu usoclock função para estas necessidades como segue:

    clock_t begin;
    clock_t now;
    clock_t diff;

    begin = clock();

    while ( 1 )
    {
        now = clock();
        diff = now - begin;
        cout << diff / CLOCKS_PER_SEC << "\n";
        //usleep ( 1000000 );
    };

Espero que o programa imprima0 por 1 segundo, depois1 por 1 segundo.2 por 1 seg. e assim por diante ... Na verdade, imprime0 por cerca de 8 segundos, então1 por cerca de 8 segundos e assim por diante ...

By the way, se eu adicionarusleep no programa de ordem imprime apenas 1 vez por segundo, imprime apenas0 todo o caminho ...

Muito obrigado pela ajuda!

questionAnswers(5)

yourAnswerToTheQuestion