我正在使用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应该正确安装,所以我不知道
答案 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)
这很简单。