_strtime_s, _wstrtime_s
Kopieren Sie die aktuelle Uhrzeit in einen Puffer.Dies sind Versionen von _strtime, _wstrtime mit beschrieben, wie unter Security Enhancements in Sicherheitsfeatures im CRT.
errno_t _strtime_s(
char *buffer,
size_t numberOfElements
);
errno_t _wstrtime_s(
wchar_t *buffer,
size_t numberOfElements
);
template <size_t size>
errno_t _strtime_s(
char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrtime_s(
wchar_t (&buffer)[size]
); // C++ only
Parameter
[out] buffer
Ein Puffer mit mindestens 10 Byte lang, wo die Uhrzeit geschrieben werden soll.[in] numberOfElements
Die Größe des Puffers.
Rückgabewert
Beliebige wenn der Vorgang erfolgreich war.
Wenn ein Fehlerzustand auftritt, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Der Rückgabewert ist ein Fehlercode, wenn ein Fehler auftritt.Fehlercodes werden in ERRNO.H definiert. finden Sie in der folgenden Tabelle für die genauen Fehler, die von dieser Funktion generiert werden.Weitere Informationen zu Fehlercodes finden Sie unter errno-Konstanten.
Fehlerbedingungen
buffer |
numberOfElements |
Return |
Inhalt von buffer |
---|---|---|---|
NULL |
(ggf.) |
EINVAL |
Nicht geändert |
Nicht NULL (zeigenden auf den gültigen Puffer) |
0 |
EINVAL |
Nicht geändert |
Nicht NULL (zeigenden auf den gültigen Puffer) |
0 <-Größe < 9 |
EINVAL |
Leere Zeichenfolge |
Nicht NULL (zeigenden auf den gültigen Puffer) |
Größe > 9 |
0 |
Aktuelle Zeit formatiert, wie in den Hinweisen angegeben |
Sicherheitsprobleme
Die Übergabe an einen ungültigen Wert ungleich null für den Puffer hat eine Zugriffsverletzung numberOfElements , wenn der Parameter größer als 9 ist.
Das Übergeben eines Werts für numberOfElements , der größer ist als die tatsächliche Größe des Puffers kommt Pufferüberlauf.
Hinweise
Diese Funktionen stellen eine sicherere Versionen von _strtime und _wstrtime.Die _strtime_s-Funktion kopiert die aktuelle lokale Zeit in den Puffer zu, der durch timestrdargestellt wird*.* Die Zeit wird als hh:mm:ss , in dem hh zwei Ziffern besteht darin, die die Stunde in der Notation stündigen 24 darstellen, mm sind zwei Ziffern formatiert, die die Minuten nach der vollen Stunde darstellen, und ss sind zwei Ziffern, die Sekunden darstellen.Beispielsweise stellt die Zeichenfolge 18:23:44 23 Minuten und 44 Sekunden nach 6. P.M dar.Der Puffer muss mindestens 9 Byte lang sein. die tatsächliche Größe wird von den zweiten Parameter angegeben.
_wstrtime ist eine Breitzeichen-Version von _strtime. das Argument und der Rückgabewert von _wstrtime sind Zeichenfolgen mit Breitzeichen.Diese Funktionen verhalten sich ansonsten unterscheiden.
In C++ unter Verwendung dieser Funktionen wird von Vorlagen Operatoren vereinfacht. Die Überladungen können die Pufferlänge (die Anforderung automatisch beseitigend ableiten, die ein Argument angegeben) und können nicht-sicheren, die älteren Funktionen über ihre Äquivalente sicheren, aktuelleren automatisch ersetzen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Zuweisung generischer Textroutinen:
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definieren |
_UNICODE definiert |
---|---|---|---|
_tstrtime_s |
_strtime_s |
_strtime_s |
_wstrtime_s |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_strtime_s |
<time.h> |
_wstrtime_s |
<time.h> oder <wchar.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
// strtime_s.c
#include <time.h>
#include <stdio.h>
int main()
{
char tmpbuf[9];
errno_t err;
// Set time zone from TZ environment variable. If TZ is not set,
// the operating system is queried to obtain the default value
// for the variable.
//
_tzset();
// Display operating system-style date and time.
err = _strtime_s( tmpbuf, 9 );
if (err)
{
printf("_strdate_s failed due to an invalid argument.");
exit(1);
}
printf( "OS time:\t\t\t\t%s\n", tmpbuf );
err = _strdate_s( tmpbuf, 9 );
if (err)
{
printf("_strdate_s failed due to an invalid argument.");
exit(1);
}
printf( "OS date:\t\t\t\t%s\n", tmpbuf );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s