DragonFly
(Konrad12315)
28 Czerwiec 2008 13:48
#1
Witam o to znowu ja
Mam taki mały problem [który to już? :D].
Mam kod:
else
{
cout << "Dwie proby zuzyte! Program zamknie sie za 3 sekundy!" << endl;
// Tutaj funkcja zamkniecia sekundowego :P
}
Chce zrobić, aby program zamykal sie np po 3 sekundach, ale nie wiem jak
Próbowałem exit(3);, ale nie działa
Z góry dziękuje za pomoc
Alien6
(Krzysiekaczor)
28 Czerwiec 2008 14:00
#2
Spróbuj sleep lub delay któreś zadziala
PS: Znalazłem i masz tu bibliotekę http://komputery.katalogi.pl/%5Bc++%5D_ … 68883.html
DragonFly
(Konrad12315)
28 Czerwiec 2008 14:40
#3
Dzięki z tym _sleep i time.h zadzialalo.
Temat można zamknąć
nr47
(Sawyer47)
28 Czerwiec 2008 18:04
#4
To jest złe rozwiązanie, bo polega się na konkretnej implementacji biblioteki standardowej! Nazwy poprzedzone podkreśleniem są zarezerwowane do implementacji biblioteki standardowej i nie powinno się używać takich funkcji, zwłaszcza, że nie ma się żadnej pewności, że w innych implementacjach będą miały takie same nazwy. Masz bardzo małe szanse, że skompilujesz ten kod na innym kompilatorze, np. na g++ (4.3) po prostu nie ma funkcji _sleep w implementacji biblioteki standardowej.
Radzę zainteresować się bibliotekę boost: http://www.boost.org/
Fiolek
(Fiołek)
28 Czerwiec 2008 18:33
#5
Albo użyć biblioteki natywnej dla danego systemu(vide WinAPI dla Windows, unistd.h dla Linux)
nr47
(Sawyer47)
28 Czerwiec 2008 18:47
#6
Dokładniej to dla POSIX, czyli wielu wielu systemów. Ale i tak lepiej użyć boost, po prostu jest spójne i niezależne od platformy.
Fiolek
(Fiołek)
28 Czerwiec 2008 19:01
#7
Nigdy nie lubiłem boost, dlatego poradziłem użyć funkcji zależnych od platformy. Jeden #ifdef i jedno makro i niezależne od platformy.
nr47
(Sawyer47)
28 Czerwiec 2008 19:09
#8
W sumie jeżeli chodzi tylko o sleep to można użyć #ifdef
Przydatna może być lista predefiniowanych mark: http://predef.sourceforge.net/
xcracker
(Matrix)
29 Czerwiec 2008 16:06
#9
else
{
cout << “Dwie proby zuzyte! Program zamknie sie za 3 sekundy!” << endl;
sleep(3); // mozna zaincludeowac: #include ale bodajze nie trzeba
}