ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
Convertire un valore in una stringa e registrare per ottenere le impostazioni del fuso orario locale.queste sono versioni di ctime, _ctime64, _wctime, _wctime64 con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in 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
Parametri
[out] buffer
Deve essere sufficientemente grande utilizzare 26 caratteri.Un puntatore al risultato della stringa di caratteri, o NULLse:time rappresenta una data prima di mezzanotte, il 1° gennaio 1970, UTC.
Se si utilizzano _ctime32_s o _wctime32_s e time rappresenta una data dopo il 03:14: 7 gennaio 19, 2038.
Se si utilizzano _ctime64_s o _wctime64_s e time rappresenta una data dopo il 23:59: 59, il 31 dicembre, 3000, UTC.
Se si utilizzano _ctime_s o _wctime_s, queste funzioni sono wrapper alle funzioni precedenti.Vedere la sezione Osservazioni.
[in] numberOfElements
Dimensione del buffer.[in] time
puntatore a tempo archiviato.
Valore restituito
Zero se ha esito positivo.Se c " è un errore a causa di un parametro non valido, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, un codice di errore viene restituito.I codici di errore definiti in ERRNO.H; per un elenco di questi errori, vedere errno.I codici di errore generati per ogni condizione di errore vengono mostrati nella tabella seguente.
condizioni di errore
buffer |
numberOfElements |
time |
Return |
Valore in buffer |
---|---|---|---|---|
NULL |
qualsiasi |
qualsiasi |
EINVAL |
non modificato |
non NULL (punta alla memoria valida) |
0 |
qualsiasi |
EINVAL |
non modificato |
non NULL |
0< dimensione < 26 |
qualsiasi |
EINVAL |
Stringa vuota. |
non NULL |
>= 26 |
NULL |
EINVAL |
Stringa vuota. |
non NULL |
>= 26 |
< 0 |
EINVAL |
Stringa vuota. |
Note
ctime_s la funzione consente di convertire un valore archiviato come time_t struttura in una stringa di caratteri.time il valore è in genere ottenuto da una chiamata a tempo, che restituisce il numero di secondi trascorsi dalla mezzanotte (00:00: 00), il 1° gennaio 1970, formato UTC (UTC).La stringa del valore restituito contiene esattamente 26 caratteri e del form:
Wed Jan 02 02:03:55 1980\n\0
Un orario in formato 24 ore viene utilizzato.Tutti i campi dispongono di una larghezza costante.Il carattere di nuova riga (" \ n ") e un carattere null (" \ 0 ") occupano le ultime due posizioni della stringa.
La stringa di caratteri convertita viene modificata in base alle impostazioni del fuso orario locale.vedere time, _ftimee localtime32_s funzioni per informazioni sulla configurazione dell'ora locale e _tzset eseguire per informazioni sulla definizione dell'ambiente e variabili globali del fuso orario.
_wctime32_s e _wctime64_s è la versione a caratteri estesi di _ctime32_s e _ctime64_s; restituire un puntatore a una stringa di caratteri estesi.In caso contrario, _ctime64_s, _wctime32_se _wctime64_s comportano in modo identico a _ctime32_s.
ctime_s è una funzione inline che restituisce _ctime64_s e time_t equivale a __time64_t.Se è necessario che il compilatore per interpretare time_t come il 32 bit obsoleto time_t, è possibile definire _USE_32BIT_TIME_T.Questa operazione provocherà ctime_s per valutare a _ctime32_s.Questa operazione non è consigliabile perché l'applicazione può non riuscire dopo il 18 gennaio 2038 e non è consentita sulle piattaforme a 64 bit.
In C++, utilizzando queste funzioni è semplificato dagli overload del modello; gli overload possono dedurre la lunghezza del buffer automaticamente, eliminando la necessità di specificare un argomento di dimensione.Per ulteriori informazioni, vedere Assicurarsi che gli overload del modello.
Mapping di routine a testo generico
routine di TCHAR.H |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tctime_s |
ctime_s |
ctime_s |
_wctime_s |
_tctime32_s |
_ctime32_s |
_ctime32_s |
_wctime32_s |
_tctime64_s |
_ctime64_s |
_ctime64_s |
_wctime64_s |
Requisiti
routine |
Intestazione di associazione |
---|---|
ctime_s, _ctime32_s, _ctime64_s |
<time.h> |
_wctime_s, _wctime32_s, _wctime64_s |
<time.h> o <wchar.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Librerie
Tutte le versioni di Librerie di runtime del linguaggio C.
Esempio
// 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 );
}
Esempio di output
The time is Fri Apr 25 13:03:39 2003
Equivalente .NET Framework
Vedere anche
Riferimenti
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s