减慢for循环的速度

时间:2012-06-28 12:14:22

标签: c++ for-loop

for(;;) {
    int rand_number = rand() % 2;
    cout << rand_number;
}

这些循环在屏幕上生成1和0,就像矩阵电影(LOL)一样,但是代码执行得非常快,是否有任何方法可以使数字显得缓慢?

3 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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

答案 2 :(得分:1)

如果你只是想让它停下来,直到你准备好,你可以随意添加一个无意义的cin。它会在那里等待输入,直到你按下返回。