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

Các vòng 1 và 0 trên màn hình giống như ma trận phim (LOL) nhưng mã thực thi nhanh có cách nào khiến số xuất hiện chậm không?làm chậm tốc độ vòng lặp

+2

Bạn có biết rằng phần còn lại của vòng lặp bên ngoài sẽ không bao giờ thực thi? –

+0

yeah u r rite nhưng tôi đã có iterators trước khi sau đó tôi gỡ bỏ nó, quên để loại trừ các vòng lặp bên ngoài – Kamran

Trả lời

7

sử dụng Sleep(3000); chờ 3000 mili giây ví dụ

#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

Khám phá usleep. Bạn có thể sử dụng giấc ngủ là tốt, nhưng tôi tưởng tượng rằng sẽ quá chậm.

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

Hoặc 'Sleep' trên Windows. –

1

Nếu bạn chỉ muốn nó dừng lại cho đến khi bạn đã sẵn sàng, bạn có thể đặt trong một cin vô nghĩa ngẫu nhiên. Nó sẽ chỉ đợi ở đó cho đầu vào cho đến khi bạn nhấn trở lại.

Các vấn đề liên quan