Partilhar via


_strdate_s, _wstrdate_s

Copie a data atual do sistema para um buffer. Essas funções são versões do , com aprimoramentos de segurança, _wstrdateconforme descrito em Recursos de_strdatesegurança no CRT.

Sintaxe

errno_t _strdate_s(
   char *buffer,
   size_t size
);
errno_t _wstrdate_s(
   wchar_t *buffer,
   size_t size
);
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

Parâmetros

buffer
Um ponteiro para um buffer para colocar a cadeia de caracteres de data formatada.

size
Tamanho do buffer em unidades de caracteres.

Valor de retorno

Zero se for bem-sucedido. O valor de retorno é um código de erro se houver uma falha. Os códigos de erro são definidos em ERRNO. H; Consulte a tabela abaixo para obter os erros exatos gerados por esta função. Para obter mais informações sobre códigos de erro, consulte errno.

Condições de erro

buffer size Devolução Conteúdo da seringa buffer
NULL (any) EINVAL Não modificado
Não NULL (apontando para buffer válido) 0 EINVAL Não modificado
Não NULL (apontando para buffer válido) < size < 0 9 EINVAL Cadeia vazia
Não NULL (apontando para buffer válido) size >= 9 0 Data atual formatada conforme especificado nas observações

Questões de segurança

Se você passar um valor inválido, não-NULL para buffer, isso resultará em uma violação de acesso se o size parâmetro for maior que nove.

Passar um valor maior size do que o tamanho real resulta em uma saturação de buffer buffer.

Observações

Essas funções fornecem versões mais seguras do _strdate e _wstrdate. A _strdate_s função copia a data atual do sistema para o buffer apontado por buffer. É formatado mm/dd/yy, onde mm é o mês de dois dígitos, dd é o dia de dois dígitos, e yy é os dois últimos dígitos do ano. Por exemplo, a cadeia de caracteres 12/05/99 representa 5 de dezembro de 1999. O buffer deve ter pelo menos nove caracteres.

_wstrdate_s é uma versão de caracteres largos de _strdate_s; o argumento e o valor de retorno de são cadeias de _wstrdate_s caracteres largas. Estas funções comportam-se de forma idêntica.

Quando buffer é um NULL ponteiro ou size tem menos de nove caracteres, o manipulador de parâmetros inválido é invocado. É descrito em Validação de parâmetros. Se a execução for permitida para continuar, essas funções retornarão -1. Eles definem errno se EINVAL o buffer é NULL ou se size é menor ou igual a 0. Ou, eles definem errno como ERANGE se size é menor que 9.

Em C++, o uso dessas funções é simplificado por sobrecargas de modelo. As sobrecargas podem inferir o comprimento do buffer automaticamente, o que elimina a necessidade de especificar um size argumento. E podem substituir automaticamente funções não seguras pelas suas homólogas mais recentes e mais seguras. Para obter mais informações, consulte Sobrecargas de modelo seguro.

As versões da biblioteca de depuração dessas funções primeiro preenchem o buffer com 0xFE. Para desativar esse comportamento, use _CrtSetDebugFillThreshold.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamento de rotina de texto genérico

TCHAR. Rotina H _UNICODE e _MBCS não definido _MBCS definido _UNICODE definido
_tstrdate_s _strdate_s _strdate_s _wstrdate_s

Requerimentos

Rotina Cabeçalho obrigatório
_strdate <tempo.h>
_wstrdate <time.h> ou <wchar.h>
_strdate_s <tempo.h>

Example

Veja o exemplo para time.

Consulte também

Gestão do 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