ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
Konvertiert einen Zeitwert in eine Zeichenfolge und erstellen auf Einstellungen der lokalen Zeitzone ein.Dies sind Versionen von ctime, _ctime64, _wctime, _wctime64 mit beschrieben, wie unter Security Enhancements in Sicherheitsfeatures im CRT.
errno_t ctime_s(
char* buffer,
size_t numberOfElements,
const time_t *time
);
errno_t _ctime32_s(
char* buffer,
size_t numberOfElements,
const __time32_t *time
);
errno_t _ctime64_s(
char* buffer,
size_t numberOfElements,
const __time64_t *time )
;
errno_t _wctime_s(
wchar_t* buffer,
size_t numberOfElements,
const time_t *time
);
errno_t _wctime32_s(
wchar_t* buffer,
size_t numberOfElements,
const __time32_t *time
);
errno_t _wctime64_s(
wchar_t* buffer,
size_t numberOfElements,
const __time64_t *time
);
template <size_t size>
errno_t _ctime32_s(
char (&buffer)[size],
const __time32_t *time
); // C++ only
template <size_t size>
errno_t _ctime64_s(
char (&buffer)[size],
const __time64_t *time
); // C++ only
template <size_t size>
errno_t _wctime32_s(
wchar_t (&buffer)[size],
const __time32_t *time
); // C++ only
template <size_t size>
errno_t _wctime64_s(
wchar_t (&buffer)[size],
const __time64_t *time
); // C++ only
Parameter
[out] buffer
Dieser Wert muss groß genug sein, 26 Zeichen enthalten.Ein Zeiger auf den Zeichenfolgen oder NULLErgebnis:time stellt ein Datum vor Mitternacht UTC am 1. Januar 1970 dar.
Wenn Sie verwenden, stellt _ctime32_s oder _wctime32_s und time ein Datum nach 03:14 an: Am 7. Januar 19 2038.
Wenn Sie verwenden, stellt _ctime64_s oder _wctime64_s und time ein Datum nach 23:59 an: 59 3000 am 31. Dezember, UTC.
Wenn Sie _ctime_s oder _wctime_sverwenden, sind diese Funktionen Wrapper zu den vorherigen Funktionen.Weitere Informationen finden Sie im Abschnitt Hinweise.
[in] numberOfElements
Die Größe des Puffers.[in] time
Zeiger auf gespeicherten Zeit.
Rückgabewert
Beliebige wenn der Vorgang erfolgreich war.Wenn ein Fehler aufgrund eines ungültigen Parameters ungültige Parameter vorhanden sind, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird ein Fehlercode zurückgegeben.Fehlercodes werden in ERRNO.H definiert. für Listen dieser Fehler finden Sie unter errno.Die eigentlichen Fehlercode, die für jeden Fehlerzustand ausgelöst werden, werden in der folgenden Tabelle dargestellt.
Fehlerbedingungen
buffer |
numberOfElements |
time |
Return |
Wert in buffer |
---|---|---|---|---|
NULL |
alle |
alle |
EINVAL |
Nicht geändert |
Nicht NULL (Zeigt auf den gültigen Arbeitsspeicher) |
0 |
alle |
EINVAL |
Nicht geändert |
Nicht NULL |
0< Größe < 26 |
alle |
EINVAL |
Leere Zeichenfolge |
Nicht NULL |
>= 26 |
NULL |
EINVAL |
Leere Zeichenfolge |
Nicht NULL |
>= 26 |
< 0 |
EINVAL |
Leere Zeichenfolge |
Hinweise
Die ctime_s-Funktion konvertiert einen Uhrzeitwert, der als time_t Struktur in eine Zeichenfolge gespeichert wird.Der time-Wert wird normalerweise bei einem Aufruf von Zeitabgerufen, der die Anzahl der Sekunden verstrich seit Mitternacht (00:00: Zurückgebenam 1. Januar 1970 00) koordinierte Weltzeit (UTC).Der Rückgabewert enthält die Zeichenfolge genau 26 Zeichen und besitzt das Format:
Wed Jan 02 02:03:55 1980\n\0
Ein 24-Stunden-Format wird verwendet.Alle Felder verfügen über eine konstante Breite.Das Zeilenumbruchzeichen („\ n ") und das NULL-Zeichen („\ 0 ") die letzten beiden Positionen der Zeichenfolge ein.
Die konvertierte Zeichenfolge wird ebenfalls entsprechend den Einstellungen der lokalen Zeitzone passt.Weitere Informationen finden Sie unter time, _ftimeund Funktionen localtime32_s Informationen zum Konfigurieren der lokale Zeit und die Funktion _tzset Informationen zum Definieren der Zeitzonen Umgebungen und der globalen Variablen.
_wctime32_s und _wctime64_s sind die Breitzeichen-Version von _ctime32_s und _ctime64_s. einen Zeiger auf eine Zeichenfolge mit Breitzeichen zurückgeben.Andernfalls verhalten sich _ctime64_s, _wctime32_sund _wctime64_s identisch mit _ctime32_s.
ctime_s ist eine Inlinefunktion, die _ctime64_s auswertet und time_t zu __time64_tentspricht.Wenn Sie den Compiler erzwingen müssen, um alte als time_t 32-Bit- time_tinterpretiert wird, können Sie _USE_32BIT_TIME_Tdefinieren.Auf diese Weise wird ctime_s , _ctime32_sauszuwerten.Dies wird nicht empfohlen, da die Anwendung möglicherweise nach dem 18. Januar 2038 fehlschlägt, und sie wird nicht auf 64-Bit-Plattformen nicht zulässig.
In C++ unter Verwendung dieser Funktionen wird von Vorlagen Operatoren vereinfacht. Überladungen können die Pufferlänge automatisch ableiten und die Notwendigkeit mehr, ein Größen - Argument angegeben wird.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Zuweisung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tctime_s |
ctime_s |
ctime_s |
_wctime_s |
_tctime32_s |
_ctime32_s |
_ctime32_s |
_wctime32_s |
_tctime64_s |
_ctime64_s |
_ctime64_s |
_wctime64_s |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
ctime_s, _ctime32_s, _ctime64_s |
<time.h> |
_wctime_s, _wctime32_s, _wctime64_s |
<time.h> oder <wchar.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Bibliotheken
Alle Versionen Cs.
Beispiel
// crt_wctime_s.c
/* This program gets the current
* time in time_t form and then uses _wctime_s to
* display the time in string form.
*/
#include <time.h>
#include <stdio.h>
#define SIZE 26
int main( void )
{
time_t ltime;
wchar_t buf[SIZE];
errno_t err;
time( <ime );
err = _wctime_s( buf, SIZE, <ime );
if (err != 0)
{
printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
}
wprintf_s( L"The time is %s\n", buf );
}
Beispielausgabe
The time is Fri Apr 25 13:03:39 2003
.NET Framework-Entsprechung
Siehe auch
Referenz
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s