2012-06-28 58 views
5
for(;;) { 
    int rand_number = rand() % 2; 
    cout << rand_number; 
} 

速度這些循環產生1和0在屏幕上像矩陣的電影(笑),但代碼執行非常快,有什麼辦法,我們讓數字顯得慢嗎?放緩的for循環

+2

您是否知道外循環的其餘部分永遠不會執行? –

+0

是的,但我有迭代器,然後我刪除它,忘記排除外部循環 – Kamran

回答

7

使用Sleep(3000);等待3000毫秒 例如

#include <iostream> 
#include <stdlib.h> 
#include <Windows.h> 

using namespace std; 

int main(int argc,char**argv){ 
    cout<<"a"<<endl; 
    Sleep(3000); 
    cout<<"b"<<endl; 

    return 0; 
} 
3

結賬usleep。你也可以使用睡眠,但我想這會太慢。

USLEEP(3)    BSD Library Functions Manual    USLEEP(3) 

NAME 
    usleep -- suspend thread execution for an interval measured in microseconds 

LIBRARY 
    Standard C Library (libc, -lc) 

SYNOPSIS 
    #include <unistd.h> 

    int 
    usleep(useconds_t useconds); 

DESCRIPTION 
    The usleep() function suspends execution of the calling thread until either useconds microseconds have elapsed or a signal is delivered to the thread whose action 
    is to invoke a signal-catching function or to terminate the thread or process. The actual time slept may be longer, due to system latencies and possible limita- 
    tions in the timer resolution of the hardware. 

    This function is implemented, using nanosleep(2), by pausing for useconds microseconds or until a signal occurs. Consequently, in this implementation, sleeping 
    has no effect on the state of process timers and there is no special handling for SIGALRM. 

RETURN VALUES 
    The usleep() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. 

ERRORS 
    The usleep() function will fail if: 

    [EINTR]   A signal was delivered to the process and its action was to invoke a signal-catching function. 

SEE ALSO 
    nanosleep(2), sleep(3) 

HISTORY 
    The usleep() function appeared in 4.3BSD. 

BSD       February 13, 1998       BSD 
+0

或Windows上的'睡眠'。 –

1

如果你只是希望它停止,直到你準備好,你可以把隨機無意義CIN。它只是等待輸入,直到你按回車。