C++에서 "timer"함수를 구현하려고합니다. 수행 할 프로그램은 입니다. 잠시 후을 입력하십시오. 그러나 예기치 않은 결과가 있습니다. I 기대C++ 타이머 구현
short e, sum;
clock_t start;
double duration=0;
for (e=0; e<4; e++) {
start = clock();
while (duration < 1) {
duration = (clock() - start)/(double)CLOCKS_PER_SEC;
}
cout << duration;
duration = 0;
sum += e;
/* Calculate EPOCH error */
cout << e;
}
cout << "\n" << e<< "\n";
결과는 :
- 콘솔 출력 초마다, I 예상 실행의 끝에서 E (0,1,2,3)
- 하였다 합계 될 수득 0 + 1 + 2 + 3 = 6,
결과
- CO 실행이 이
- 이 합이 6
예상 =으로 내가 실행이 완료 될 때까지, 왜 프로그램 인쇄 콘솔에 않습니다되고 불확실한 찾아 매초하지 끝날 때 nsole 출력이 모두 함께, 전자 다음에?
건배,
버퍼링하고, 루프에서'std :: cout << e << std :: endl;'을 시도하십시오. –
질문은 분명히 C++로 보입니다. 그렇다면 왜'c' 태그입니까? – Grizzly
Offtopic,하지만 왜 바쁜 루프가 아닌 수면? – goji