Zum Inhalt springen

Funktionstyp time_t


Vicious

Empfohlene Beiträge

Salve.

Ich hab mal eine generelle Frage:

Wie würde ich es hinbekommen, wenn ich eine Anweisung genau nach einer Wartezeit von 10sec z.B. ausführen wollte?!

Ich hab irgendwo schonmal was von time_t gelesen, aber leider wurde ich auch mit Google nicht schlau...

Ich will also wissen, wie ich Anweisungen zeitgesteuert ausführen kann in C++! Hab mich hoffentlihc einigermaßen verständlich ausgedrückt :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

time_t ist lediglich ein Datentyp (long integer). Instanzvariable dieses Typs werden dazu verwendet die Systemzeit zu speichern.


#include "stdafx.h"
#include "time.h"

int main(int argc, char* argv[])
{
time_t ltime;
struct tm *today;
char tmpbuf[128];

_tzset();
time( &ltime );
today = localtime( &ltime );
strftime( tmpbuf, 128, "%Y.%m.%d %H:%M:%S", today );

printf("Aktuelles Datum=%s\n",tmpbuf);
return 0;
}
[/PHP]

Das bringt dich nicht weiter.

Welchen Compiler verwendest du?

Falls Microsoft, dann gibt's da die [b]Sleep(DWORD dwMilliseconds)[/b] Funktion.

Falls Borland, dann [b]sleep(unsigned sekunden)[/b]

Das sollte funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Visual Studio .NET 2003

Bin auch ziemlich frisch in der Programmierung. Hab gleich mit C++ angefangen, weil die Leute sagen, danach hätte man eine sehr gute Basis!

Danke für die schnelle Antwort! Ich werd das im Laufe des Tages mal probieren... :)

Schönen DIenstag noch

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zur Lösung deines Problems kommt es IMHO drauf an, ob du während dieser Wartezeit etwas anderes machen möchtest, oder ob das Programm nichts anderes als warten soll. Im ersten Falle würde ich sowas threadgesteuert gestalten. Da du VC++ .NET verwendest, kannst du ja auch die entsprechenden Klassen, die dir das Framework bietet, verwenden. Ansonsten kannst du es auch so machen, wie Manfred es vorschlug.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Visual Studio .NET 2003

Bin auch ziemlich frisch in der Programmierung. Hab gleich mit C++ angefangen, weil die Leute sagen, danach hätte man eine sehr gute Basis!

Verwende die Funktion Sleep, aber lies Dir die Doku durch. Dort steht auch, wie exakt die Funktion arbeitet. (Es gibt einen gewissen Toleranzbereich, den Du akzeptieren musst. Im Sekundenbereich sollte es jedoch kaum auffallen.)

C++ halte ich für keine gute Anfängersprache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man sich auf eine Diskussion über Anfängersprachen einläßt und sich dem Urteil Bubbles anschließen will, dann ist C++ einerseits zusehr ein Mischmasch aus OO strukturierter Programmierung und hat andereseits noch zuviele alte C-Strukturen, wobei C vor allem mit Pointern, kryptischem Syntax etc. für Anfänger schwer zu lesen und zu verstehen sein mag.

Allerdings kommt es auch immer auf den Anfänger an, wie er "drauf" ist und wie er an die Sache rangeht. Manche Leute sollten auf jeden Fall mit einem Basic-Dialekt anfangen, andere, und das raten heute immer mehr Leute, sollten gleich an eine objektorientierte Sprache gehen. In diesem Falle würde ich dir C# raten, da du ja eh schon die entsprechende IDE und das Framework hast.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Manche Leute sollten auf jeden Fall mit einem Basic-Dialekt anfangen
Nein, nein, nein... BASIC ist immer ein schlechter Start - das verdirbt dich für den Rest deines (Programmierer-)Lebens und es ist verdammt schwierig dieses falsche Denken wieder anzulegen :)

Ich persönlich denke als kompletter Einstieg ist immer noch Pascal (bzw. Modula oder Oberon) mit am geeignesten. Ziemlich sprechend und gut zu überblicken. Aber wie so oft: Das ist Geschmackssache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm .. ich hab die ersten 2 Jahre mit BASIC (nicht mit VB!!!) programmiert und behaupte, daß ich mit C nicht die allergrößten Mühen hatte. War halt immer ein Glaubenskrieg und wird immer einer gewesen sein.

Vorteil bei BASIC ist nun mal, daß man sich als blutiger Anfänger nicht um die Variablendeklaration und nur wenig um Typen kümmern mußte. Sobald man auf einen C-Dialekt umsteigt, wird man durch stetige Compiler-Fehler schon "umerzogen" :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm .. ich hab die ersten 2 Jahre mit BASIC (nicht mit VB!!!) programmiert und behaupte, daß ich mit C nicht die allergrößten Mühen hatte.
Ich habe auch mit BASIC angefangen und musste schon das ein oder andere Mal knabbern, um das ein oder andere, was einem BASIC beigebracht hat (hauptsächlich GOTO, aber auch fehlende Typisierung) wieder loszuwerden. Klaro ist das nicht so ein Riesenthema, aber wenn ich die Wahl habe jemanden mit einer BASIC- oder einer Pascal-Variante starten zu lassen, dann würde ich mich immer für die Pascal-Variante entscheiden.

Es mag inzwischen auch vernünftige BASIC-Dialekte geben, aber für mich haftet BASIC irgendwo immer noch so ein kleiner C64 an *g*.

Vorteil bei BASIC ist nun mal, daß man sich als blutiger Anfänger nicht um die Variablendeklaration und nur wenig um Typen kümmern mußte. Sobald man auf einen C-Dialekt umsteigt, wird man durch stetige Compiler-Fehler schon "umerzogen" :)
Wobei die Frage noch ist, ob die fehlende Typisierung für den Anfänger wirklich ein Vorteil ist. Wenn ich mir von Anfang an Gedanken um den Typ machen muss, dann fällt mir hinterher vieles leichter. Gerade wenn dann irgendwann der Schritt zur OOP kommt (und das wird sich heute kaum noch vermeiden lassen) ist man dann schon mit vielem, was neu ist zumindestens ansatzweise vertraut.

Bei einer richtigen Lernkurve kann man sich sogar fast automatisch OOP selbst herleiten. Ist mir selber aufgefallen, als ich mich in Modula II "damals" mit abstrakten Datentypen befasst habe. Da kommt dann ganz automatisch die Erkenntnis: Ach so, deshalb ist OOP wirklich ein guter und logischer nächster Schritt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wenn Du einfach nur 10s warten möchtest, kannst Du das am einfachsten mit sleep(10) realisieren. Da dies eine Funktions des POSIX.1 Standards ist, sollte das unter jedem Betriebssystem laufen.

Soll während der Wartezeit dein Programm jedoch weiterlaufen, wirds komplizierter. Unter Unix/Linux ist ein entsprechender Signal-Handler eine Möglichkeit.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich frag mal ganz banal: Warum?

Die meisten Gründe wurden schon aufgezählt. Ich halte C++ für eine mächtige, jedoch komplexe, Programmiersprache. C++ hat eine höhere Lernkurve als beispielsweise Java. Man kann Fehler machen, die oft zu Fehlermeldungen an ganz anderer Stelle des Programms führen, was Anfänger verwirren kann. C++ ist sehr frei, so gibt es die Möglichkeit objektorientiert zu programmieren, man kann es aber auch komplett sein lassen. Es wird vieles unterstützt und die Auswahl dem Entwickler überlassen. Grade aber die Wahl, welche Vorgehensweise wann und warum am günstigsten ist, kann für Einsteiger unter Umständen nicht zu entscheiden sein.

All diese Aspekte sind beherrschbar, jedoch lenken sie von der eigentlichen Grundlagen, den Algorithmen und prinzipiellen Programmabläufen, ab. So läuft ein Sortieralgorithmus vom Prinzip her immer gleich ab, egal ob er in C++, Java, C# oder Modula2 implementiert wird.

Bitte nicht falsch verstehen: Generell halte ich C++ für eine gute Programmiersprache.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ihr redet die ganze Zeit von "Objektorientier Programmierung"...

Was heist das genau?

Mit Objekten zu arbeiten, die Instanzen von Klassen sind, die wiederum Methoden und Daten kapseln. Aspekte wie Vererbung, Sichtbarkeit usw. spielen auch noch eine große Rolle. Man kann es nicht in einem 3-Zeiler erklären, wirklich schwer zu verstehen ist es jedoch auch nicht. Such einfach mal im Internet, es gibt bestimmt viele einführende Seiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...