Freigeben über


_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

Zeit-Verwaltung

asctime_s, _wasctime_s

ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

mktime, _mktime32, _mktime64

Zeit, _time32, _time64

_tzset