2011-10-25 100 views
2

我使用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

如果您按照說明使用MinGW,那麼您可能需要包含windows.h。我認爲睡眠實施使用Win API Sleep()

例如:

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

int main() { 
    std::cout << "!!!Hello World!!!" << std::endl; 
    Sleep(20000); 
    return 0; 
} 
7

sleep()函數是由POSIX而不是C++標準定義的。

如果你是一個類Unix系統上,你需要

#include <unistd.h> 

如果你沒有,那麼sleep()功能可能還不可用。

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

3

在開發可移植代碼必須在UNIX和Windows上運行,我總是定義一個用於Windows的睡眠()宏調用Windows睡眠(),看起來像這樣:

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

這很容易做到。