_strdate_s, _wstrdate_s

A data atual do sistema para um buffer de cópia.Estas são as versões do _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

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

  • [in]numberOfElements
    Tamanho do buffer.

Valor de retorno

Zero se for bem sucedida.O valor de retorno é 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 erros exatas gerado 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 debuffer

NULL

(qualquer)

EINVAL

Não modificado

Não NULL (apontando para o buffer válido)

0

EINVAL

Não modificado

Não NULL (apontando para o buffer válido)

0 < numberOfElements< 9

EINVAL

Seqüência de caracteres vazia

Não NULL (apontando para o buffer válido)

numberOfElements> = 9

0

Data de hoje formatada conforme especificado nos comentários

Problemas de segurança

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

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

Comentários

Essas funções fornecem versões mais seguras do _strdate e _wstrdate.O _strdate_s função copia a data atual do sistema para o buffer apontado por bufferformatado mm/dd/yy, onde mm é de 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 o dia 5 de dezembro de 1999.O buffer deve ter pelo menos 9 caracteres.

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

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

No C++, a utilização dessas funções é simplificado pela sobrecargas do modelo; os métodos sobrecarregados podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de tamanho) e eles podem substituir automaticamente os 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 de texto genérico:

TCHAR.Rotina H

_ Unicode & _ MBCS do arquivo não definido

_ MBCS do arquivo 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 para tempo.

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

tempo, _time32, _time64

_tzset