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