Partilhar via


_strdate_s, _wstrdate_s

A data corrente do sistema para um buffer de cópia.Essas são sistema autônomo versões de _strdate, _wstrdate com aprimoramentos de segurança conforme descrito em Aprimoramentos 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

  • [out] buffer
    Um ponteiro para um buffer que irá ser preenchido com a seqüência de caracteres de data formatada.

  • [in]numberOfElements
    dimensionar do buffer.

Valor de retorno

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

Condições de erro

buffer

numberOfElements

Return

Contents of buffer

NULL

(qualquer)

EINVAL

Não modificado

Not NULL (apontando para o buffer válido)

0

EINVAL

Não modificado

Not NULL (apontando para o buffer válido)

0 < numberOfElements < 9

EINVAL

Seqüência de caracteres vazia

Not NULL (apontando para o buffer válido)

numberOfElements >= 9

0

Data corrente formatada sistema autônomo especificado nos comentários

Questões de segurança

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

Passar valores para o dimensionar que é maior do que o dimensionar real do buffer resultará na saturação de buffer.

Comentários

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

_wstrdate_s é uma versão de caractere largo da _strdate_s; valor de argumento e retornar _wstrdate_s são seqüências de caracteres largos. Essas funções se comportam exatamente caso contrário.

If buffer é um NULL ponteiro, ou se numberOfElements é menor do que 9 caracteres, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam -1 e definir errno para EINVAL Se o buffer é NULL ou se numberOfElements é menor ou igual a 0 ou conjunto errno para ERANGE Se numberOfElements é menor do que 9.

No C++, usando essas funções é simplificado pelo modelo sobrecargas; sobrecargas de podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de dimensionar) e eles podem substituir automaticamente funções não seguras, mais antigas, com suas contrapartes mais recentes e seguras.Para obter mais informações, consulte Proteger overloads de modelo.

Mapeamento de rotina texto genérico:

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>

Exemplo

Consulte o exemplo para time.

Equivalente do NET Framework

sistema::DateTime::Parse

Consulte também

Referência

Gerenciamento de time

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