Zeiger übergeben und variablen ändern
-
Hallo,
ich hab glaubig ein ganz simples problem, aber ich finde den fehler nicht, wahrscheinlich weil ich mich mal wieder zulange damit beschäftige.
int setzezeit(int *tag, int *monat, int *jahr, int *stunde, int *minute, int *sekunde) { tag = 0; /* struct tm *tmzeit; //d->tag = 5; //printf("%d", d->tag); time_t tzeit; time(&tzeit); */ return 0; }
ich übergebe die zeiger für zeitvariablen an meine funktion, aber wenn ich dort jetzt schreibe tag = 0; dann sagt mein compiler 100 komische fehler, wenn ich die zeile weg lasse, dann hab ich gar keine fehler.... was mach ich denn falsch?
-
^^vor c99 mussten alle variablen als erstes in der funktion stehen. setz dein 'struct tm tmzeit' ganz nach oben, dann sollten die fehler weg sein.
-
anscheind macht die time.h probleme... setzt ich den compiler auf c++ dann gehts, setzt ich ihn auf c, gehts nicht...
ich bekomm die kriese -.-
jemand ne ahnung ob´s wirklich an der time.h vom VS2008 liegen kann?kann mir jemand sagen wie
size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)
http://www2.hs-fulda.de/~klingebiel/c-stdlib/time.htm
das benutzte um mir die aktuelle zeit als string auszugeben, ich komm damit irgendwie nicht klar...wie intitalisiere ich das?
char s[100]; ... size_t strftime(char *s, size_t 100, const char *fmt, const struct tm *tp) ????
-
TTP schrieb:
setzt ich den compiler auf c++ dann gehts, setzt ich ihn auf c, gehts nicht...
In C++ ist das, was fricky angesprochen hat, ja auch erlaubt, in C (89) nicht.
jemand ne ahnung ob´s wirklich an der time.h vom VS2008 liegen kann?
Nein, kann nicht sein.
char s[100]; ... strftime(s, sizeof s, "formatstring, tmzeit);
-
ahh, geht, danke