功能睡眠无法解决

时间:2011-10-25 17:57:32

标签: c++ eclipse sleep

我正在使用eclipse并且我正在构建一个简单的程序,但是我收到一条错误,说明函数睡眠无法解决

#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;

int main() {
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    printf("ciao");
    sleep(20);
    return 0;
}

我不知道我是否需要其他库或其他东西。 MinGW应该正确安装,所以我不知道

3 个答案:

答案 0 :(得分:8)

sleep()函数由POSIX定义,而不是由C ++标准定义。

如果您使用的是类Unix系统,则需要

#include <unistd.h>

如果不是,那么sleep()功能可能甚至不可用。

哦,混合cout << ...printf()可能不是一个好主意,你不需要#include <conio.h>

答案 1 :(得分:4)

如果您按照规定使用MinGW,则可能需要包含windows.h。我认为睡眠实现使用Win API Sleep()

例如:

#include <windows.h>
#include <iostream>

int main() {
    std::cout << "!!!Hello World!!!" << std::endl;
    Sleep(20000);
    std::cout << "Text Will Appear After 2 Sec.." << std::endl;
    return 0;
}

答案 2 :(得分:3)

在开发必须在unix和windows上运行的可移植代码时,我总是为调用windows Sleep()的windows定义一个sleep()宏,如下所示:

#define sleep(a) Sleep(a * 1000)

这很简单。