ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Converter um valor de tempo em uma seqüência de caracteres e ajuste de configurações de fuso horário local.Estas são as versões do a ctime, _ctime64, _wctime, _wctime64 com aprimoramentos de segurança, conforme descrito em Recursos de segurança no CRT.

errno_t ctime_s( 
   char* buffer,
   size_t numberOfElements,
   const time_t *time 
);
errno_t _ctime32_s( 
   char* buffer,
   size_t numberOfElements,
   const __time32_t *time 
);
errno_t _ctime64_s( 
   char* buffer,
   size_t numberOfElements,
   const __time64_t *time )
;
errno_t _wctime_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const time_t *time 
);
errno_t _wctime32_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const __time32_t *time 
);
errno_t _wctime64_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const __time64_t *time 
);
template <size_t size>
errno_t _ctime32_s( 
   char (&buffer)[size],
   const __time32_t *time 
); // C++ only
template <size_t size>
errno_t _ctime64_s( 
   char (&buffer)[size],
   const __time64_t *time
); // C++ only
template <size_t size>
errno_t _wctime32_s( 
   wchar_t (&buffer)[size],
   const __time32_t *time 
); // C++ only
template <size_t size>
errno_t _wctime64_s( 
   wchar_t (&buffer)[size],
   const __time64_t *time 
); // C++ only

Parâmetros

  • [out]buffer
    Deve ser grande o suficiente para conter 26 caracteres.Um ponteiro para o resultado de seqüência de caracteres, ou NULLse:

    • timerepresenta uma data anterior à meia-noite de 1º de janeiro de 1970, UTC.

    • Se você usar _ctime32_s ou _wctime32_s e time representa uma data após 03: 14: 07 em 19 de janeiro de 2038.

    • Se você usar _ctime64_s ou _wctime64_s e time representa uma data posterior a 23: 59: 59, 31 de dezembro de 3000, a UTC.

    • Se você usar _ctime_s ou _wctime_s, essas funções são wrappers para as funções anteriores.Consulte a seção comentários.

  • [in]numberOfElements
    O tamanho do buffer.

  • [t in]ime
    Ponteiro para o tempo armazenado.

Valor de retorno

Zero se for bem sucedida.Se houver uma falha devido a um parâmetro inválido, 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, será retornado um código de erro.Códigos de erro são definidos no ERRNO.H; Para obter uma lista desses erros, consulte errno.Os códigos de erro real lançados para cada condição de erro são mostrados na tabela a seguir.

Condições de erro

buffer

numberOfElements

time

Return

O valorbuffer

NULL

any

any

EINVAL

Não modificado

Não NULL (aponta para memória válido)

0

any

EINVAL

Não modificado

NãoNULL

0 < tamanho < 26

any

EINVAL

Seqüência de caracteres vazia

NãoNULL

> = 26

NULL

EINVAL

Seqüência de caracteres vazia

NãoNULL

> = 26

< 0

EINVAL

Seqüência de caracteres vazia

Comentários

O ctime_s função converte um valor de tempo armazenado como um time_t estrutura em uma seqüência de caracteres.O time valor geralmente é obtido de uma chamada para tempo, que retorna o número de segundos passado desde meia-noite (00: 00), 1 de janeiro de 1970, hora universal coordenada (UTC).A seqüência de caracteres do valor de retorno contém exatamente 26 caracteres e tem o seguinte formato:

Wed Jan 02 02:03:55 1980\n\0

É usado um relógio de 24 horas.Todos os campos tem uma largura de constante.O caractere de nova linha ('\n') e o caractere nulo ('\0') ocupam as duas últimas posições da seqüência de caracteres.

A seqüência de caracteres convertidas também é ajustada de acordo com as configurações de fuso horário local.Consulte o time, _ftime, e localtime32_s funções para obter informações sobre como configurar a hora local e o _tzset a função para obter informações sobre como definir o ambiente de fuso horário e variáveis globais.

_wctime32_se _wctime64_s são da versão de caractere largo de _ctime32_s e _ctime64_s; retornando um ponteiro para a cadeia de caracteres largos.Otherwise, _ctime64_s, _wctime32_s, and _wctime64_s behave identically to _ctime32_s.

ctime_sé uma função in-line que é avaliada como _ctime64_s e time_t é equivalente a __time64_t.Se você precisar forçar o compilador para interpretar time_t como o antigo 32-bit time_t, você pode definir _USE_32BIT_TIME_T.Fazendo isso fará com que ctime_s a ser avaliada como _ctime32_s.Isso não é recomendado porque seu aplicativo pode falhar após 18 de janeiro de 2038, e não é permitido em plataformas de 64 bits.

No C++, a utilização dessas funções é simplificado pela sobrecargas do modelo; os métodos sobrecarregados podem inferir comprimento do buffer automaticamente, eliminando a necessidade de especificar um argumento de tamanho.Para obter mais informações, consulte Proteger Overloads de modelo.

Mapeamentos de rotina de texto genérico

TCHAR.Rotina H

_ Unicode & _ MBCS do arquivo não definido

_ MBCS do arquivo definido

_ Unicode definido

_tctime_s

ctime_s

ctime_s

_wctime_s

_tctime32_s

_ctime32_s

_ctime32_s

_wctime32_s

_tctime64_s

_ctime64_s

_ctime64_s

_wctime64_s

Requisitos

Rotina

Cabeçalho necessário

ctime_s,

_ctime32_s,

_ctime64_s

<time.h>

_wctime_s,

_wctime32_s,

_wctime64_s

<time.h> ou <wchar.h>

Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

Bibliotecas

Todas as versões da bibliotecas de tempo de execução c.

Exemplo

// crt_wctime_s.c
/* This program gets the current
 * time in time_t form and then uses _wctime_s to
 * display the time in string form.
 */

#include <time.h>
#include <stdio.h>

#define SIZE 26

int main( void )
{
   time_t ltime;
   wchar_t buf[SIZE];
   errno_t err;

   time( &ltime );

  
   err = _wctime_s( buf, SIZE, &ltime );
   if (err != 0)
   {
      printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
   }
   wprintf_s( L"The time is %s\n", buf );
}

Saída de exemplo

The time is Fri Apr 25 13:03:39 2003

Equivalência do .NET Framework

Consulte também

Referência

Gerenciamento de tempo

asctime_s, _wasctime_s

a ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

tempo, _time32, _time64