Freigeben über


_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

Uhrzeitverwaltung

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

time, _time32, _time64

_tzset