Condividi tramite


_strdate_s, _wstrdate_s

Copiare la data di sistema corrente di un buffer.queste sono versioni di _strdate, _wstrdate con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.

errno_t _strdate_s(
   char *buffer,
   size_t numberOfElements
);
errno_t _wstrdate_s(
   wchar_t *buffer,
   size_t numberOfElements
);
template <size_t size>
errno_t _strdate_s(
   char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrdate_s(
   wchar_t (&buffer)[size]
); // C++ only

Parametri

  • [out] buffer
    Un puntatore a un buffer che verrà fornito di stringa della data formattata.

  • [in] numberOfElements
    Dimensione del buffer.

Valore restituito

Zero se ha esito positivo.Il valore restituito è un codice di errore se c " è un errore.I codici di errore definiti in ERRNO.H; vedere la tabella riportata di seguito per gli errori esatti generati dalla funzione.Per ulteriori informazioni sui codici di errore, vedere errno.

condizioni di errore

buffer

numberOfElements

Return

Contenuto di buffer

NULL

(nessuno)

EINVAL

non modificato

non NULL (punta al buffer valido)

0

EINVAL

non modificato

non NULL (punta al buffer valido)

0 < numberOfElements < 9

EINVAL

Stringa vuota.

non NULL (punta al buffer valido)

numberOfElements >= 9

0

Data corrente formattata come specificato nei commenti

problemi di sicurezza

Passando un oggetto non valido non NULL il valore del buffer comporterà una violazione di accesso se numberOfElements il parametro è maggiore di 9.

Passando i valori di dimensione maggiore della dimensione effettiva del buffer restituisce il sovraccarico del buffer.

Note

Queste funzioni forniscono versioni sicure di _strdate e _wstrdate._strdate_s la funzione copia la data di sistema corrente nel buffer puntato in near buffer, formattato mmoddoyy, dove mm sono due cifre che rappresentano il mese, dd sono due cifre che rappresentano il giorno e yy è le ultime due cifre anno.Ad esempio, la stringa 12/05/99 rappresenta il 5 dicembre 1999.Il buffer deve essere almeno 9 caratteri.

_wstrdate_s è una versione a caratteri estesi di _strdate_s; l'argomento e il valore restituito di _wstrdate_s sono le stringhe di caratteri estesi.Queste funzioni si comportano in modo identico in caso contrario.

se buffer è un oggetto NULL puntatore, o se numberOfElements è minore di 9 caratteri, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, queste funzioni restituiscono -1 e impostate errno in EINVAL se il buffer è NULL oppure numberOfElements è minore o uguale a 0, o il set errno in ERANGE se numberOfElements sono meno di 9.

In C++, utilizzando queste funzioni è semplificato dagli overload del modello; gli overload possono dedurre la lunghezza del buffer automaticamente (che elimina la necessità di specificare un argomento di dimensione) e possono sostituire automaticamente le funzioni precedenti e non sicure con le più recenti, controparti sicure.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

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

Requisiti

routine

Intestazione di associazione

_strdate

<time.h>

_wstrdate

<time.h> o <wchar.h>

_strdate_s

<time.h>

Esempio

Vedere l'esempio relativo a tempo.

Equivalente .NET Framework

System:: DateTime:: Di traccia

Vedere anche

Riferimenti

Gestione di tempo

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