_strtime_s, _wstrtime_s
Kopieren Sie die aktuelle Uhrzeit in einem Puffer. Diese Versionen sind von _strtime, _wstrtime mit werden, wie in Sicherheitsfunktionen in der CRT beschrieben.
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, mindestens 10 Bytes lang, wo die Zeit geschrieben wird.[in] numberOfElements
Die Größe des Puffers.
Rückgabewert
Null wenn erfolgreich.
Wenn ein Fehlerzustand auftritt, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. 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 genaue Fehler, die von dieser Funktion generiert werden. Weitere Informationen zu Fehlercodes, finden Sie unter errno Konstanten.
Fehlerbedingungen
buffer |
numberOfElements |
Return |
Inhalt von buffer |
---|---|---|---|
NULL |
(alle) |
EINVAL |
Nicht geändert |
Nicht NULL (Zeiger auf gültigen Puffer) |
0 |
EINVAL |
Nicht geändert |
Nicht NULL (Zeiger auf gültigen Puffer) |
0 < Größe < 9 |
EINVAL |
Leere Zeichenfolge |
Nicht NULL (Zeiger auf gültigen Puffer) |
Größe > 9 |
0 |
Aktuelle Uhrzeit formatiert, wie in den Hinweisen angegeben |
Sicherheitsprobleme
Die Übergabe in einen ungültigen Wert ungleich null für den Puffer ergibt eine Zugriffsverletzung, wenn der numberOfElements-Parameter größer als 9. ist.
Das Übergeben eines Werts für numberOfElements, der größer ist, als das tatsächliche Größe des Puffers wird Pufferüberlauf.
Hinweise
Diese Funktionen stellen sicherere Versionen von _strtime und _wstrtime. Die _strtime_s-Funktion wird die aktuelle Ortszeit in den Puffer, auf den durch timestr gezeigt wird . Die Zeit wird als hh:mm:ss, wobei hh zwei Ziffern ist, die die Uhrzeit im 24 der Notation mm darstellen, werden zwei Ziffern formatiert, die die Minuten nach der Stunde darstellen, und ss sind zwei Ziffern, die darstellen Sekunden. Beispielsweise stellt die Zeichenfolge 18:23:44 23 Minuten und 44 Sekunden nach 6 Uhr dar Der Puffer muss mindestens 9 Bytes lang sein; Originalgröße wird das durch den zweiten Parameter angegeben.
_wstrtime ist eine Breitzeichenversion von _strtime. Das Argument und der Rückgabewert von _wstrtime sind Zeichenfolgen mit Breitzeichen. Anderenfalls verhalten sich diese Funktionen identisch.
In C++ wird die Verwendung dieser Funktionen durch Vorlagenüberladungen vereinfacht; die Überladungen können automatisch Rückschlüsse auf die Pufferlänge ziehen (wodurch kein Größenargument mehr angegeben werden muss), und sie können automatisch die älteren, nicht sicheren Funktionen durch ihre neueren, sicheren Entsprechungen ersetzen. Weitere Informationen finden Sie unter Sichere Vorlagenüberladungen.
Zuordnung generischer Textroutinen:
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definiert |
_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 <> |
Zusätzliche Informationen zur Kompatibilität 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