asctime, asctime_s
|
Definiert im Header
<time.h>
|
||
| (1) | ||
|
char
*
asctime
(
const
struct
tm
*
time_ptr
)
;
|
(bis C23) | |
|
[
[
deprecated
]
]
char
*
asctime
(
const
struct
tm
*
time_ptr
)
;
|
(seit C23) | |
|
errno_t asctime_s
(
char
*
buf, rsize_t bufsz,
const
struct
tm
*
time_ptr
)
;
|
(2) | (seit C11) |
-
Www- dreistelliger englischer abgekürzter Wochentag aus time_ptr - > tm_wday , einer vonMon,Tue,Wed,Thu,Fri,Sat,Sun. -
Mmm- dreistelliger englischer abgekürzter Monatsname aus time_ptr - > tm_mon , einer vonJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec. -
dd- 2-stelliger Tag des Monats aus timeptr - > tm_mday , wie ausgegeben von sprintf mit % 2d . -
hh- 2-stellige Stunde aus timeptr - > tm_hour , wie ausgegeben von sprintf mit % .2d . -
mm- 2-stellige Minute aus timeptr - > tm_min , wie ausgegeben von sprintf mit % .2d . -
ss- 2-stellige Sekunde aus timeptr - > tm_sec , wie ausgegeben von sprintf mit % .2d . -
yyyy- 4-stelliges Jahr aus timeptr - > tm_year + 1900 , wie ausgegeben von sprintf mit % 4d .
|
Diese Funktion ist veraltet und sollte nicht in neuem Code verwendet werden.
|
(seit C23) |
-
- buf oder time_ptr ist ein Nullzeiger
- bufsz ist kleiner als 26 oder größer als RSIZE_MAX
- nicht alle Mitglieder von * time_ptr liegen innerhalb ihrer normalen Bereiche
- das durch time_ptr - > tm_year angegebene Jahr ist kleiner als 0 oder größer als 9999.
-
Wie bei allen bounds-checked-Funktionen ist
asctime_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.
Inhaltsverzeichnis |
Parameter
| time_ptr | - | Zeiger auf ein tm -Objekt, das die auszugebende Zeit spezifiziert |
| buf | - | Zeiger auf einen vom Benutzer bereitgestellten Puffer mit mindestens 26 Bytes Länge |
| bufsz | - | Größe des vom Benutzer bereitgestellten Puffers |
Rückgabewert
asctime
und
ctime
geteilt werden und kann bei jedem Aufruf einer dieser Funktionen überschrieben werden.
Hinweise
asctime
gibt einen Zeiger auf statische Daten zurück und ist nicht threadsicher. POSIX kennzeichnet diese Funktion als veraltet und empfiehlt stattdessen
strftime
. Der C-Standard empfiehlt ebenfalls
strftime
anstelle von
asctime
und
asctime_s
, da
strftime
flexibler und lokalisierungssensitiv ist.
POSIX beschränkt undefiniertes Verhalten nur auf Fälle, in denen die Ausgabezeichenkette länger als 25 Zeichen wäre, wenn timeptr - > tm_wday oder timeptr - > tm_mon nicht innerhalb der erwarteten Bereiche liegen, oder wenn timeptr - > tm_year den Wert INT_MAX - 1990 überschreitet.
Einige Implementierungen behandeln timeptr - > tm_mday == 0 als Bedeutung für den letzten Tag des vorhergehenden Monats.
Beispiel
Mögliche Ausgabe:
Tue May 26 21:51:50 2015 Tue May 26 21:51:50 2015
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.27.2.1 Die asctime-Funktion (S: 287)
-
- K.3.8.2.1 Die asctime_s-Funktion (S: 453-454)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.27.2.1 Die asctime-Funktion (S: 392-393)
-
- K.3.8.2.1 Die asctime_s-Funktion (S: 624-625)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.23.3.1 Die asctime-Funktion (S: 341-342)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 4.12.3.1 Die asctime-Funktion
Siehe auch
|
(in C23 veraltet)
(C11)
|
konvertiert ein
time_t
-Objekt in eine textuelle Darstellung
(Funktion) |
|
konvertiert ein
tm
-Objekt in eine benutzerdefinierte textuelle Darstellung
(Funktion) |
|
|
C++-Dokumentation
für
asctime
|
|