Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Copie a data atual do sistema para um buffer. Essas funções são versões do , com aprimoramentos de segurança, _wstrdateconforme descrito em Recursos de_strdatesegurança no CRT.
Sintaxe
errno_t _strdate_s(
char *buffer,
size_t size
);
errno_t _wstrdate_s(
wchar_t *buffer,
size_t size
);
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
buffer
Um ponteiro para um buffer para colocar a cadeia de caracteres de data formatada.
size
Tamanho do buffer em unidades de caracteres.
Valor de retorno
Zero se for bem-sucedido. 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 obter os erros exatos gerados por esta função. Para obter mais informações sobre códigos de erro, consulte errno.
Condições de erro
buffer |
size |
Devolução | Conteúdo da seringa buffer |
|---|---|---|---|
NULL |
(any) | EINVAL |
Não modificado |
Não NULL (apontando para buffer válido) |
0 | EINVAL |
Não modificado |
Não NULL (apontando para buffer válido) |
<
size
< 0 9 |
EINVAL |
Cadeia vazia |
Não NULL (apontando para buffer válido) |
size
>= 9 |
0 | Data atual formatada conforme especificado nas observações |
Questões de segurança
Se você passar um valor inválido, não-NULL para buffer, isso resultará em uma violação de acesso se o size parâmetro for maior que nove.
Passar um valor maior size do que o tamanho real resulta em uma saturação de buffer buffer.
Observações
Essas funções fornecem versões mais seguras do _strdate e _wstrdate. A _strdate_s função copia a data atual do sistema para o buffer apontado por buffer. É formatado mm/dd/yy, onde mm é o mês de dois dígitos, dd é o dia de dois dígitos, e yy é os dois últimos dígitos do ano. Por exemplo, a cadeia de caracteres 12/05/99 representa 5 de dezembro de 1999. O buffer deve ter pelo menos nove caracteres.
_wstrdate_s é uma versão de caracteres largos de _strdate_s; o argumento e o valor de retorno de são cadeias de _wstrdate_s caracteres largas. Estas funções comportam-se de forma idêntica.
Quando buffer é um NULL ponteiro ou size tem menos de nove caracteres, o manipulador de parâmetros inválido é invocado. É descrito em Validação de parâmetros. Se a execução for permitida para continuar, essas funções retornarão -1. Eles definem errno se EINVAL o buffer é NULL ou se size é menor ou igual a 0. Ou, eles definem errno como ERANGE se size é menor que 9.
Em C++, o uso dessas funções é simplificado por sobrecargas de modelo. As sobrecargas podem inferir o comprimento do buffer automaticamente, o que elimina a necessidade de especificar um size argumento. E podem substituir automaticamente funções não seguras pelas suas homólogas mais recentes e mais seguras. Para obter mais informações, consulte Sobrecargas de modelo seguro.
As versões da biblioteca de depuração dessas funções primeiro preenchem o buffer com 0xFE. Para desativar esse comportamento, use _CrtSetDebugFillThreshold.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.
Mapeamento de rotina de texto genérico
| TCHAR. Rotina H |
_UNICODE e _MBCS não definido |
_MBCS definido |
_UNICODE definido |
|---|---|---|---|
_tstrdate_s |
_strdate_s |
_strdate_s |
_wstrdate_s |
Requerimentos
| Rotina | Cabeçalho obrigatório |
|---|---|
_strdate |
<tempo.h> |
_wstrdate |
<time.h> ou <wchar.h> |
_strdate_s |
<tempo.h> |
Example
Veja o exemplo para time.
Consulte também
Gestão do 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