Definition | #include <time.h> char *strptime(const char *buf, const char *format, struct tm *tm);
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameter | const char *buf Datum- und Uhrzeit-Zeichenkette, die konvertiert werden soll. struct tm *tm Ergebnisstruktur, in der die konvertierten Datum- und Uhrzeit-Einzelwerte abgelegt werden. const char *format Die Zeichenkette format besteht aus null, einer oder mehreren Umwandlungsanweisungen. Jede Umwandlungsanweisung besteht aus einem der folgenden Elemente: Jede Konvertierungs-Spezifikation besteht aus einem %-Zeichen, gefolgt von einem Konvertierungszeichen, das die gewünschte Umwandlung angibt. Für Konvertierungs- Spezifikationen, die einen numerischen Wert erwarten, darf die zu konvertierende Zeichenkette maximal die in der Formatbeschreibung angegebene Anzahl von Ziffern enthalten. D.h. zusätzliche führende Nullen sind nicht erlaubt. Steht zwischen den Konvertierungs-Spezifikationen weder ein Zwischenraum-Zeichen noch ein nicht-alphanumerisches Zeichen, muss die Anzahl der Ziffern sogar genau mit der in der Formatbeschreibung übereinstimmen. Folgende Konvertierungs-Zeichen werden unterstützt:
Eine Umwandlungsanweisung, die aus Zwischenraum-Zeichen besteht, wird ausgeführt, indem der Input bis zum ersten Zeichen gelesen wird, das kein Zwischenraum-Zeichen ist (dieses Zeichen bleibt ungelesen), oder bis keine Zeichen mehr vorhanden sind. Eine Umwandlungsanweisung, die aus einem gewöhnlichen Zeichen besteht, wird ausgeführt, indem das nächste Zeichen aus dem Puffer gelesen wird. Wenn das aus dem Puffer gelesene Zeichen nicht mit dem Zeichen der Umwandlungsanweisung übereinstimmt, schlägt diese fehl und das abweichende Zeichen sowie alle weiteren Zeichen bleiben ungelesen. Eine Folge von Umwandlungsanweisungen, die aus %n, %t, Zwischenraum-Zeichen und Kombinationen davon besteht, wird ausgeführt, indem bis zum ersten Zeichen gelesen wird, das kein Zwischenraum-Zeichen ist (dieses Zeichen bleibt ungelesen), oder bis keine Zeichen mehr vorhanden sind. Alle anderen Konvertierungs-Spezifikationen werden ausgeführt, indem solange Zeichen eingelesen werden, bis ein zur nächsten Umwandlungsanweisung passendes Zeichen gelesen wird (dieses bleibt im Puffer) oder bis keine Zeichen mehr vorhanden sind. Die gelesenen Zeichen werden dann mit den Werten in der Lokalität verglichen, die der Konvertierungs-Spezifikation entsprechen. Wenn der passende Wert in der Lokalität gefunden wird, werden die entsprechenden Strukturelemente der | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Returnwert | Zeiger auf das Zeichen hinter dem letzten gelesenen Zeichen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bei Erfolg. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NULL-Zeiger | sonst | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hinweis | Die spezielle Behandlung von Zwischenraum-Zeichen und viele „gleiche Formate“ sollen den Einsatz von identischen Format-Strings bei | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Siehe auch | scanf, strftime, time |