_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
Consulte também
Referência
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
gmtime_s, _gmtime32_s, _gmtime64_s