Compartilhar via


_strdate_s, _wstrdate_s

Copie a data atual do sistema para um buffer. Essas são versões de _strdate, _wstrdate com aprimoramentos de segurança conforme descrito em Recursos de segurança no 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

Parâmetros

  • [saída] buffer
    Um ponteiro para um buffer que é preenchido com a cadeia de caracteres de data formatada.

  • [entrada] numberOfElements
    O tamanho do buffer.

Valor de retorno

Nulo se com êxito. 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 erros exatos gerados por essa função. Para obter mais informações sobre códigos de erro, consulte errno.

Condições de erro

buffer

numberOfElements

Return

Conteúdo de buffer

NULL

(nenhum)

EINVAL

Não modificados

Não NULL (que aponta para o buffer válido)

0

EINVAL

Não modificados

Não NULL (que aponta para o buffer válido)

0 < numberOfElements < 9

EINVAL

Cadeia de caracteres vazia

Não NULL (que aponta para o buffer válido)

numberOfElements >= 9

0

Data atual formatada como especificado em comentários

Problemas de segurança

Passe não em um valor inválido de NULL para o buffer resultará em uma violação de acesso se o parâmetro de numberOfElements é maior que 9.

Passar valores para o tamanho que seja maior que o tamanho real de buffer resultará em excesso de buffer.

Comentários

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

_wstrdate_s é uma versão de ampla caractere de _strdate_s; o argumento e o valor de retorno de _wstrdate_s são cadeias de caracteres de ampla caractere. Essas funções se comportam exatamente o contrário.

Se buffer é um ponteiro de NULL , ou se numberOfElements for menor que 9 caracteres, o manipulador inválido do parâmetro será chamado, conforme descrito em Validação do parâmetro. Se a execução for permitida continuar, essas funções retornam -1 e errno definido como EINVAL se o buffer é NULL ou se numberOfElements é menor ou igual a 0, ou o conjunto errno a ERANGE se numberOfElements for menor que 9.

No C++, o uso dessas funções é simplificado por sobrecargas de modelo; as sobrecargas podem interpretar o tamanho do buffer automaticamente (eliminando a necessidade de especificar um argumento de tamanho) e podem substituir automaticamente as funções menos seguras mais antigas por correspondentes mais seguras e mais recentes. Para obter mais informações, consulte Sobrecargas de modelo seguras.

Mapeamento de rotina de Genérico- texto:

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tstrdate_s

_strdate_s

_strdate_s

_wstrdate_s

Requisitos

Rotina

Cabeçalho necessário

_strdate

<time.h>

_wstrdate

<time.h ou> wchar.h <>

_strdate_s

<time.h>

Exemplo

Consulte o exemplo de hora.

Equivalência do .NET Framework

System::DateTime::Parse

Consulte também

Referência

Gerenciamento de 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