_sleep()在C ++中不起作用

时间:2016-01-22 13:54:38

标签: c++ sleep

我试图编写简单的代码,但每当我调用函数_sleep()时它都不起作用。我现在已经在两个不同的项目中尝试过,每次使用它时,它都会给出一个错误:1

  

'_ sleep':此函数或变量已被更新的库或操作系统功能取代。考虑使用Sleep。有关详细信息,请参阅在线帮助。

我尝试了很多其他的东西,例如Sleep()sleep(),还有一堆其他随机垃圾,但最终还没有结束。如果有另一个命令暂停控制台一段时间,我可以改变我想要的方式,并且不会弹出一些像"Press any key to continue..."这样的丑陋的东西,或者修复我的命令,请让我知道了!

代码

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int rouletteGen();

int main()
{
    //--------
    //| Idea |
    //--------
    //cout << box 1 << box 2 << endl;

    int wheel, a, b, c, time, cA, cB, cC;

roulette:
    while (a >= 1)
    {
        cout << "          _|_" << endl;
        cout << "          \|/" << endl;
        cout << "_______ _______ _______" << endl;
        cout << "|     | |     | |     |" << endl;
        cout << "|  "<< cA <<"  | |  "<< cB<<"  | |  "<< cC<<"   |" << endl;
        cout << "|     | |     | |     |" << endl;
        cout << "_______ _______ _______" << endl;

        _sleep(250);
        while (b >= 1)
        {
            cout << "_|_" << endl;
            cout << "\|/" << endl;
            _sleep(250);
            while (c >= 15)
            {

            }
        }
    }
}

int rouletteGen()
 {
    int dice;
    srand(time(NULL));
    dice = rand() % 3;

    dice = dice + 1;

    return dice;
}

3 个答案:

答案 0 :(得分:3)

只要您可以访问C ++ 11或更高版本,我就会使用std::this_thread::sleep_for并让标准库担心调用正确的“睡眠”功能。

答案 1 :(得分:2)

Sleep()函数在各种操作系统中是不同的,因为它是由OS库实现的。 如果您正在使用Windows,最好的方法是#include windows.h头文件, 那么你想要使用睡眠功能的地方使用它作为睡眠(time_in_ms)

#include <iostream>
#include <windows.h>
int main(){
std::cout << "A" << std::endl;
Sleep(3000);
std::cout << "B" << std::endl;
return 0;
}

答案 2 :(得分:0)

要使用Sleep,您需要#include <windows.h>。在我看来,更好的解决方案是抑制该警告。 _sleep工作正常。