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( <ime );
err = _wctime_s( buf, SIZE, <ime );
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
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s