Skocz do zawartości
lordm4s

Sleep() w C++

Rekomendowane odpowiedzi

Posiadam Borland C++ 4.52 i mam problem z funkcja sleep. Poczytalem w helpie ale dalej nic.

To jest kod sciagniety z helpa :

 

/* sleep example */#include <dos.h>#include <stdio.h>int main(void){	int i;	for (i=1; i<5; i++)	{  printf("Sleeping for %d secondsn", i);  sleep(i);	}	return 0;}

Podczas kompilacji wyskakuje error ze nie mozna odwolac sie do funkcji sleep. (call to undefined function sleep .....)

Doradzcie co zdrobic aby bylo OK. Z gory dzieki za pomoc.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Posiadam Borland C++ 4.52 i mam problem z funkcja sleep. Poczytalem w helpie ale dalej nic.

Podczas kompilacji wyskakuje error ze nie mozna odwolac sie do funkcji sleep. (call to undefined function sleep .....)

Doradzcie co zdrobic aby bylo OK. Z gory dzieki za pomoc.

Być może kompilujesz program dla systemu Windows? Może masz ustawione w projekcie, że program jest windowsowy?

Bo np. w Borland C++ 3.11 jest takie coś w nagłówku:

[php:1:a9bdd890a2]

#if !defined( _Windows )

void _Cdecl sleep( unsigned __seconds );

void _Cdecl sound( unsigned __frequency );

#endif

[/php:1:a9bdd890a2]

Czyli nie będzie sleep() jeśli jest program pod Winde... Za to jest Sleep z Windows API jeśli dołączysz <windows.h>.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Masz piękny kompilator Dev-C++ który jest 100% zgody z obecnym standardem ANSI C++ a przy tym darmowy i do celów zarobkowych może być uzywany nawet - Full GNU public license - i jest pozatym bardzo wygodny. Wadą jest to że nie ma tylu bibliotek co Borland i nie może robić aplikacji 16 bitowych.

 

Funkcje sleep() można napisać samemu np: ( trzeba dodać na początek #include <time.h> )

void sleep(int czas){   clock_t start;   while(start = clock() <= czas);}

Może jest trochę chamska ( ta pentla pracuje cały czas ) ale dla upartego moze być. :)

 

Albo poprostu dodać na początek #include <windows.h> i kodzie programu wstawić z wybrany czasem Sleep(czas).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a ja polecam Borland Builder, wiem że to już bardziej rozbudowane środowisko, ale jeżeli dobrze ci juz idzie z C++ to nie widze lepszego rozwiązania. Program jest poprostu świetny, duże aplikacje okienkowe powstają w mgnieniu oka, poprostu nie trzeba tracić czasu na niepotrzebne rzeczy. Oczywiście ma to i swoje wady bo polowa kodu jest pisana automatycznie, ale w ten sposób programowanie staje się wręcz proste hhh. A możliwości w środowisku Borlanda tysiące. Przeszedłem już ponad rok temu i polecam.

Oczywiście wszysko w zależności od potrzeb...

(Borland Builder 6 Personal można ściągnąć za darmo ze strony Borlanda - ale waży trochę)

Polecam.

 

aha co do pytania, funkcja Sleep() z windowsa powinna działać, jeżeli nie to coś musi być nie tak poustawiane w kompilatorze.

Po dołączeniu windows.h nie powinno być problemu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W sumie to co podałem wcześniej powinno być tak :

 

#include <ctime>//...void delay(int ile){    clock_t start ,end;     start = clock();       while(1)    {       end = clock();       if (end - start >= ile) break;     }}

Czas podajemy w ms. Pomysł jest mój, może się komuś przyda.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...