функция сна не может быть решена - PullRequest
2 голосов
/ 25 октября 2011

Я использую Eclipse и создаю простую программу, но я получаю сообщение об ошибке, в котором говорится, что функция sleep не может быть решена

#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 ]

8 голосов
/ 25 октября 2011

Функция sleep() определяется POSIX, а не стандартом C ++.

Если вы работаете в Unix-подобной системе, вам нужно

#include <unistd.h>

Если это не так, функция sleep() может быть даже недоступна.

О, и смешивание cout << ... и printf(), вероятно, не очень хорошая идея, и вам не нужно #include <conio.h>.

4 голосов
/ 25 октября 2011

Если вы используете 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;
}
3 голосов
/ 25 октября 2011

При разработке переносимого кода, который должен работать в Unix и Windows, я всегда определял макрос sleep () для окон, который вызывает Windows Sleep (), который выглядит следующим образом:

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

Это достаточно просто сделать.

...