ctime, ctime_s
|
Definiert im Header
<time.h>
|
||
| (1) | ||
|
char
*
ctime
(
const
time_t
*
timer
)
;
|
(bis C23) | |
|
[
[
deprecated
]
]
char
*
ctime
(
const
time_t
*
timer
)
;
|
(seit C23) | |
|
errno_t ctime_s
(
char
*
buf, rsize_t bufsz,
const
time_t
*
timer
)
;
|
(2) | (seit C11) |
-
-
bufodertimerist ein Nullzeiger -
bufszist kleiner als 26 oder größer als RSIZE_MAX
-
-
Wie bei allen bounds-checked-Funktionen ist
ctime_snur garantiert verfügbar, wenn __STDC_LIB_EXT1__ durch die Implementierung definiert ist und wenn der Benutzer __STDC_WANT_LIB_EXT1__ auf den Integer-Konstantenwert 1 setzt, bevor <time.h> eingebunden wird.
Die resultierende Zeichenkette hat folgendes Format:
Www Mmm dd hh:mm:ss yyyy\n
-
Www- der Wochentag (einer vonMon,Tue,Wed,Thu,Fri,Sat,Sun). -
Mmm- der Monat (einer vonJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec). -
dd- der Tag des Monats -
hh- Stunden -
mm- Minuten -
ss- Sekunden -
yyyy- Jahre
Die Funktion unterstützt keine Lokalisierung.
Inhaltsverzeichnis |
Parameter
| timer | - | Zeiger auf ein time_t Objekt, das die auszugebende Zeit spezifiziert |
| buf | - |
Zeiger auf das erste Element eines char-Arrays mit einer Größe von mindestens
bufsz
|
| bufsz | - |
maximale Anzahl an auszugebenden Bytes, typischerweise die Größe des von
buf
gezeigten Puffers
|
Rückgabewert
ctime
geteilt werden und kann bei jedem Aufruf einer dieser Funktionen überschrieben werden.
buf
zeigt), oder ungleich Null bei Fehler (in diesem Fall wird das abschließende Null-Zeichen immer in
buf
[
0
]
geschrieben, es sei denn
buf
ist ein Nullzeiger oder
bufsz
ist Null oder größer als
RSIZE_MAX
.
Hinweise
ctime
gibt einen Zeiger auf statische Daten zurück und ist nicht threadsicher. Zusätzlich modifiziert es das statische
tm
-Objekt, das möglicherweise mit
gmtime
und
localtime
geteilt wird. POSIX markiert diese Funktion als veraltet und empfiehlt stattdessen
strftime
. Der C-Standard empfiehlt ebenfalls
strftime
anstelle von
ctime
und
ctime_s
, da
strftime
flexibler und lokalisierungssensitiv ist.
Das Verhalten von
ctime
ist für Werte von
time_t
undefiniert, die zu einer Zeichenkette mit mehr als 25 Zeichen führen (z.B. Jahr 10000).
Beispiel
Mögliche Ausgabe:
Tue May 26 21:51:03 2015 Tue May 26 21:51:03 2015
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.27.3.2 Die ctime-Funktion (S: 287-288)
-
- K.3.8.2.2 Die ctime_s-Funktion (S: 454)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.27.3.2 Die ctime-Funktion (S: 393)
-
- K.3.8.2.2 Die ctime_s-Funktion (S: 626)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.23.3.2 Die ctime-Funktion (S: 342)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.12.3.2 Die ctime-Funktion
Siehe auch
|
(in C23 veraltet)
(C11)
|
konvertiert ein
tm
-Objekt in eine textuelle Darstellung
(Funktion) |
|
konvertiert ein
tm
-Objekt in eine benutzerdefinierte textuelle Darstellung
(Funktion) |
|
|
C++-Dokumentation
für
ctime
|
|