Tag aus Datum ziehen
-
Hallo,
ich bin neu hier und hätte gleich mal ein Problem. Wie kann ich aus einem Datum (tt.mm.jjjj) den Tag extrahieren und in einem int speichern? Also das ich dann habe
int tag = tt
int monat = mm
int jahr = jjjjDanke für eure Hilfe
-
Wie liegt das Datum denn vor?
-
Naja, der Benutzer wird aufgefordert, es am anfang im format(tt.mm.jjjj) einzugeben
-
-
Also liegt es als String vor, Alex++?
Was hältst du hiervon?
char date[]="06.03.1981"; int t,m,j; sscanf(date,"%d.%d.%d",&t,&m,&j);
-
probier's mal mit 'atoi', das sollte abbrechen, wenn ein punkt kommt.
int i = atoi ("13.12.2009"); // <-- müsste 13 ergeben
-
Also, ich hab des etz mal getestet, kommt aber
-858993460 für tag monat und jahr raus
-
Alex += Alex schrieb:
Also, ich hab des etz mal getestet, kommt aber
-858993460 für tag monat und jahr rauszeig code
-
Alex += Alex schrieb:
Also, ich hab des etz mal getestet, kommt aber
-858993460 für tag monat und jahr rausdann machste irgendwas falsch. zeig doch mal deinen testcode
-
[code]
char datum[] = "13.02.1961";
int tag;
int monat;
int jahr;sscanf(datum, "%d, %d, %d", &tag, &monat, &jahr);
printf("%d , %d , %d", tag, monat, jahr);
-
^^verwende punkte, nicht kommas. aber der tag (denn willst du ja) sollte doch noch richtig sein, oder?
-
Genau, Punkte, und die Leerzeichen müssen auch nicht sein. Einfach exakt wie in meinem Beispiel.
-
Vertippt ? Probier ma:
sscanf(datum, "%d.%d.%d", &tag, &monat, &jahr);
Punkt statt Komma ...
-
Scheppertreiber schrieb:
Vertippt ? Probier ma:
sscanf(datum, "%d.%d.%d", &tag, &monat, &jahr);
Punkt statt Komma ...
Klar, wurde auch erst zwei mal erwähnt...
-
Steter Tropfen füllt den Hohlko..........
-
ok, funktioniert wirklich, vielden dank.
Bloß noch ne kleine frage, kann ich einfach vorher mit
scanf("%c", &datum);
ein Datum manuell eingeben?
oder wie muss ich des machen?
-
%c steht für char, also ein einzelnes Zeichen. Für einen String (char-Array) musst du %s nehmen.
-
Wow, funktioniert, besten dank
-
Gern geschehen, Alex++.