Sdílet prostřednictvím


ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Převést na řetězec hodnotu času a upravte nastavení zóny Místní čas.Jedná se o verze ctime, _ctime64, _wctime, _wctime64 s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.

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

Parametry

  • [out] buffer
    Musí být dostatečně velké pro 26 znaků.Ukazatel na výsledek řetězce znaků, nebo NULL -li:

    • timepředstavuje datum před půlnoci 1. ledna 1970 UTC.

    • Použijete-li _ctime32_s nebo _wctime32_s a time představuje datum po 03:14:07 19. ledna 2038.

    • Použijete-li _ctime64_s nebo _wctime64_s a time představuje datum po 23:59:59, 31 prosince 3000 UTC.

    • Použijete-li _ctime_s nebo _wctime_s, tyto funkce jsou obaly na předchozí funkce.Viz část Poznámky.

  • [in] numberOfElements
    Velikost vyrovnávací paměti .

  • [t v]ime
    Ukazatel času uložené.

Vrácená hodnota

0 v případě úspěchu.Pokud dojde k selhání z důvodu neplatného parametru, vyvolán neplatný parametr obslužné rutiny, jak je popsáno v Ověření parametru.Pokud je povoleno spuštění chcete-li pokračovat, je vrácen kód chyby.Kódy chyb jsou definovány v kód chyby.H; seznam těchto chyb naleznete v tématu Kód chyby.V následující tabulce jsou uvedeny skutečné chybové kódy, vyvolány pro každou podmínku chyby.

Chybové podmínky

buffer

numberOfElements

time

Výsledek

Hodnota vbuffer

NULL

any

any

EINVAL

Nezměněno

Ne NULL (odkazuje na platný paměti)

0

any

EINVAL

Nezměněno

NeNULL

0< velikost < 26

any

EINVAL

Prázdný řetězec

NeNULL

>= 26

NULL

EINVAL

Prázdný řetězec

NeNULL

>= 26

< 0

EINVAL

Prázdný řetězec

Poznámky

ctime_s Funkce převede hodnota času uložena jako time_t struktury na znakové řetězce.time Hodnota je obvykle získán z volání čas, která vrátí počet sekund uplynulých od půlnoci (00:00), 1. ledna 1970, koordinovaný světový čas (UTC).Vrácená hodnota řetězce obsahuje přesně 26 znaků a má tvar:

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

Slouží 24 hodin.Všechna pole nemají konstantní šířce.Znak nového řádku (\n) a znak null ('\0') zaujímají pozice poslední dva řetězce.

Převedený textový řetězec je také upravena podle nastavení zóny Místní čas.Najdete time, _ftime, a localtime32_s funkce informace o konfiguraci místního času a _tzset funkce informace o definování časové pásmo prostředí a globální proměnné.

_wctime32_sa _wctime64_s jsou verze širokého znaku _ctime32_s a _ctime64_s; vrací ukazatel na řetězec širokého znaku.Otherwise, _ctime64_s, _wctime32_s, and _wctime64_s behave identically to _ctime32_s.

ctime_sVložená funkce, jejíž výsledkem je _ctime64_s a time_t je ekvivalentní __time64_t.Pokud chcete vynutit kompilátoru, aby interpretovat time_t jako stará 32-bit time_t, můžete definovat _USE_32BIT_TIME_T.Tím dojde k ctime_s k vyhodnocení k _ctime32_s.To se nedoporučuje, protože aplikace může selhat po 18. ledna 2038 a není povolena na 64bitových platformách.

V jazyce C++ je použití těchto funkcí zjednodušeno díky přetížením šablony; přetížení mohou odvodit délku vyrovnávací paměti automaticky, čímž eliminují nutnost určit velikost argumentu.Další informace naleznete v tématu Přetížení zabezpečení šablony.

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tctime_s

ctime_s

ctime_s

_wctime_s

_tctime32_s

_ctime32_s

_ctime32_s

_wctime32_s

_tctime64_s

_ctime64_s

_ctime64_s

_wctime64_s

Požadavky

Rutina

Požadované záhlaví

ctime_s,

_ctime32_s,

_ctime64_s

<time.h>

_wctime_s,

_wctime32_s,

_wctime64_s

<Time.h> nebo <wchar.h>

Další informace o kompatibilitě naleznete v úvodu tématu Kompatibilita.

Knihovny

Všechny verze běhových knihoven C.

Příklad

// 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 );
}

Výstup ukázky

The time is Fri Apr 25 13:03:39 2003

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Správa času

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