alle x Minuten eine Funktion ausführen
-
Hey Leute,
ich bin dabei ein Programm zu schreiben, dass alle x Minuten eine Funktion aufrufen soll.
Ich hab schon ein bisschen mit time() rumgespielt und auch schon ein paar Sachen darüber gelesen, aber das was ich suche, finde ich nirgendwo.
Vielleicht könntet ihr mir ein geeignetes Tutorial zu diesem Thema geben oder mir mal erklären, wie ich mein Vorhaben mit der time()-Funktion lösen könnte. Evtl. lieg ich ja sogar völlig falsch mit time()?
Bitte helft mir ;).Bis dann,
Chicken
-
sleep(), usleep() auf unix, Sleep() auf windows.
und wehe, du versuchst busy-waiting.
-
busy-waiting ist dann mit Schleifen, oder? Hab ich schon gemacht, funktioniert auch, aber der PC war mir dann doch ein wenig zu sehr belastet für ein Programm, das nur ruhig im Hintergrund laufen soll *G*. Also keine Angst...
Nun zur Sache..
Mein Compiler meldet mir den Fehler "`Sleep' undeclared (first use this function)"
obwohl ich die Header unistd.h (laut google wird diese benötigt) eingebunden habe.
Wird für diese Funktion noch eine Header-Datei benötigt, oder stimmt das so? Oder stimmt das überhaupt?
Vielen Dank!
Bis dann,
Chicken/EDIT:
die sleep-Funktion kommt folgendermaßen in meinem Code vor:sleep(300);Das ist das einzige Mal, dass sleep vorkommt.
-
frag net google sondern die hilfe
#include <stdlib.h>
-
Die hab ich auch eingebunden...
-
Für sleep() braucht man doch
#include <windows.h>oder?
-
masterfu schrieb:
frag net google sondern die hilfe
#include <stdlib.h>nix gibt's, das heißt:
#include <cstdlib> using namespace std;EEK schrieb:
Für sleep() braucht man doch
#include <windows.h>oder?
Für Sleep() schon.
Mfg
GPC
-
ein sleep gibts nicht in c oder c++.
es gibt sleep() und usleep() in unixen und Sleep() in windows. man beachte die GROSSSCHREIBUNG des ersten buchstabens.
-
wat bedeutet using namespace std....
ich weiß es echt net. also kein torll oder so^^
-
masterfu schrieb:
wat bedeutet using namespace std....
ich weiß es echt net. also kein torll oder so^^Dann frag mal die Dokumentation deines Compilers dazu

(oder Langfassung: Die C++-Bibliothek liegt im Namensraum "std", damit du nicht jedes Mal "std::" vor die Funktionen schreiben mußt, projizierst du mit "using namespace std;" alle Namen in den globalen Namensraum)
-
Hallo
masterfu schrieb:
wat bedeutet using namespace std....
ich weiß es echt net. also kein torll oder so^^Das bedeutet, dass er nach der Funktion auch im namespace std sucht. Du kannst aber auch direkt auf den namespace hinweisen:
std::string strText = "Hallo";chrische
-
c.rackwitz schrieb:
ein sleep gibts nicht in c oder c++.
es gibt sleep() und usleep() in unixen und Sleep() in windows. man beachte die GROSSSCHREIBUNG des ersten buchstabens.Und was ist mit _sleep() in der ctime Headerdatei?
mfg.
-
joomoo schrieb:
c.rackwitz schrieb:
ein sleep gibts nicht in c oder c++.
es gibt sleep() und usleep() in unixen und Sleep() in windows. man beachte die GROSSSCHREIBUNG des ersten buchstabens.Und was ist mit _sleep() in der ctime Headerdatei?
mfg.
RFTM!
Wie das geht?
Na ganz einfach, man geht auf www.google.com und gibt cort "ctime" ein, klickt auf den ersten Link und schaut sich den inhalt von ctime an.
-
Any schrieb:
joomoo schrieb:
c.rackwitz schrieb:
ein sleep gibts nicht in c oder c++.
es gibt sleep() und usleep() in unixen und Sleep() in windows. man beachte die GROSSSCHREIBUNG des ersten buchstabens.Und was ist mit _sleep() in der ctime Headerdatei?
mfg.
RFTM!
Wie das geht?
Na ganz einfach, man geht auf www.google.com und gibt cort "ctime" ein, klickt auf den ersten Link und schaut sich den inhalt von ctime an.Das erste war bei mir folgendes: http://www.cplusplus.com/ref/ctime/ und die _sleep() Funktion war nicht dabei.
Ich weiß ja wie die funtkioniert, aber ich wollte mal wissen warum die nie genannt wird.
mfg.
-
Weil die nicht zum Standard gehört. Namen die mit _ anfangen (außer Membervariablen) sind iirc Compilerspezifisch (deshalb sollte man auch davon Abstand nehmen, solche Namen zu verwenden).
-
Ich würd unter linux kein programm schreibe!
Wofür gibts cronWie ichs verstanden hab solls ja sowieso im hintergrund sein und einfach nur alle parr minuten eine funktion ausführen.
Also schreib die Funktion als eigenständiges Programm und benutzt cron um es alle paar minuten aufzurufen
Wie gesagt nur unter Linux
-
Ich wollte mich nur mal bei euch bedanken... es geht

/EDIT:
leider muss das ganze unter windows laufen
, sonst hätte ich das auch so gemacht. wollte ja erst den taskplaner zur hilfe nehmen, aber darauf hab ich kein bock ;D.