Freigeben über


ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Konvertiert einen Zeitwert in eine Zeichenfolge und Bereitstellen auf Einstellungen der lokalen Zeitzone ein. Diese Versionen sind von ctime, _ctime64, _wctime, _wctime64 mit werden, wie in Sicherheitsfunktionen in der CRT beschrieben.

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
    Dürfen groß genug sein, 26 Zeichen enthält. Ein Zeiger auf Zeichenfolgenergebnis oder NULL, wenn :

    • time stellt ein Datum vor Mitternacht am 1. Januar 1970 UTC dar.

    • Wenn Sie verwenden, stellt _ctime32_s oder _wctime32_s und time ein Datum nach 03:14 dar: Am 7. Januar 19 2038.

    • Wenn Sie verwenden, stellt _ctime64_s oder _wctime64_s und time ein Datum nach 23:59 dar: 59 3000 am 31. Dezember, UTC.

    • Wenn Sie _ctime_s oder _wctime_s verwenden, sind diese Funktionen Wrapper zu den vorherigen Funktionen. Weitere Informationen finden Sie im Abschnitt "Hinweise".

  • [in] numberOfElements
    Die Größe des Puffers.

  • [in] t ime
    Zeiger zu gespeicherten Zeit.

Rückgabewert

Null wenn erfolgreich. Wenn es einen Fehler aufgrund eines ungültigen Parameters gibt, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. 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 tatsächlichen Fehlercodes, die für jeden Fehlerzustand ausgelöst werden, werden in der folgenden Tabelle dargestellt.

Fehlerbedingungen

buffer

numberOfElements

time

Return

Wert in buffer

NULL

any

any

EINVAL

Nicht geändert

Nicht NULL (Punkte zum gültigen Arbeitsspeicher)

0

any

EINVAL

Nicht geändert

Nicht NULL

0< Größe < 26

any

EINVAL

Leere Zeichenfolge

Nicht NULL

>= 26

NULL

EINVAL

Leere Zeichenfolge

Nicht NULL

>= 26

< 0

EINVAL

Leere Zeichenfolge

Hinweise

Die ctime_s-Funktion konvertiert einen Zeitwert, der als time_t-Struktur in eine Zeichenfolge gespeichert ist. Der Wert time wird normalerweise von einem Aufruf von time erhalten, der die Anzahl der Sekunden zurück, die seit Mitternacht verstrichen sind (00:00: 00) am 1. Januar 1970 koordinierte Weltzeit (UTC). Die Rückgabewertzeichenfolge enthält genau 26 Zeichen und weist folgende Form:

Wed Jan 02 02:03:55 1980\n\0

Ein 24-Stunden-Format wird verwendet. Alle Felder verfügen eine konstante Breite. Das Zeilenumbruchzeichen ("\ n ") und das NULL-Zeichen ("\ 0 ") akzeptieren die letzten zwei Positionen der Zeichenfolge ein.

Die konvertierte Zeichenfolge wird auch nach den Einstellungen der lokalen Zeitzone angepasst. Siehe time, _ftime und localtime32_s-Funktionen zu Informationen zum Konfigurieren der Ortszeit und der _tzset-Funktion zu Informationen über das Definieren der Zeitzonenumgebung und der globalen Variablen.

_wctime32_s und _wctime64_s sind die Breitzeichen-Version von _ctime32_s und _ctime64_s; Zurückgeben eines Zeigers zur Zeichenfolge mit Breitzeichen. Andernfalls verhalten sich _ctime64_s, _wctime32_s und _wctime64_s identisch mit _ctime32_s.

ctime_s ist eine Inlinefunktion, die _ctime64_s ergibt und time_t in __time64_t entspricht. Wenn Sie dem Compiler erzwingen müssen, um time_t als 32-Bit- alte time_t interpretiert, können Sie _USE_32BIT_TIME_T definieren. Hierdurch wird ctime_s, _ctime32_s auszuwerten. Dies ist nicht empfehlenswert, da Ihre Anwendung möglicherweise nach dem 18. Januar 2038 fehlschlägt, und nicht auf 64-Bit-Plattformen zulässig.

Die Verwendung dieser Funktionen in C++ wird durch Überladungen (als Vorlagen vorhanden) vereinfacht. Überladungen können automatisch die Pufferlänge ableiten, sodass kein Größenargument angegeben werden muss. Weitere Informationen finden Sie unter Sichere Vorlagenüberladungen.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_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 <>

Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Bibliotheken

Alle Versionen C-Laufzeitbibliotheken.

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( &ltime );

  
   err = _wctime_s( buf, SIZE, &ltime );
   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

Uhrzeitverwaltung

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64