Compartilhar via


ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Converter um time valor em uma seqüência de caracteres e ajuste para o local de time as configurações de zona.Essas são sistema autônomo versões de ctime, _ctime64, _wctime, _wctime64 com aprimoramentos de segurança conforme descrito em Aprimoramentos 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.A pointer to the character string result, or NULLif:

    • time representa uma data antes da meia-noite, 1 º de janeiro de 1970 UTC.

    • Se você usar _ctime32_s ou _wctime32_s e time representa uma data após 14: 03: 07 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, 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 dimensionar do buffer.

  • [in] time
    Ponteiro para a time armazenado.

Valor de retorno

Zero se for bem-sucedido.Se houver uma falha devido a um parâmetro inválido, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução terá permissão para continuar, um código de erro será retornado.Códigos de erro estão definidos no ERRNO.H; para obter uma listagem desses erros, consulte errno.Os códigos de erro real gerados para cada condição de erro são mostrados na tabela a seguir.

Condições de erro

buffer

numberOfElements

time

Return

Valor em buffer

NULL

any

any

EINVAL

Não modificado

Not NULL (points to valid memory)

0

any

EINVAL

Não modificado

Not NULL

0 < dimensionar < 26

any

EINVAL

Seqüência de caracteres vazia

Not NULL

>= 26

NULL

EINVAL

Seqüência de caracteres vazia

Not NULL

>= 26

< 0

EINVAL

Seqüência de caracteres vazia

Comentários

The ctime_s função converte um valor de time armazenado sistema autônomo um time_t estrutura em uma seqüência de caractere.The time valor geralmente é obtido de uma telefonar para time, que retorna o número de segundos passados desde meia-noite (00: 00: 00), 1 º de janeiro de 1970 time Universal Coordenado (UTC).A seqüência de caracteres do valor retornado contém exatamente 26 caracteres e tem o seguinte formato:

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

Um relógio de 24 horas é usado.Todos os campos tem uma largura 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 caractere convertida é também ajustada de acordo com a hora local zona configurações.Consulte o time, _ftime, and localtime32_s funções para obter informações sobre como configurar a time local e o _tzset função para obter informações sobre como definir o ambiente de fuso horário e variáveis global.

_wctime32_s e _wctime64_s a versão de caractere largo de _ctime32_s e _ctime64_s; retornar um ponteiro para seqüência de caracteres largos. Caso contrário, _ctime64_s, _wctime32_s, e _wctime64_s se comportar de forma idêntica para _ctime32_s.

In Visual C++ 2005, ctime_s é um embutido função que é avaliada como _ctime64_s e time_t é equivalente a __time64_t. If you need to force the compiler to interpret time_t as the old 32-bit time_t, you can define _USE_32BIT_TIME_T.Isso fará com que ctime_sa ser avaliada como _ctime32_s. Isso não é recomendado porque seu aplicativo pode falhar após 18.01.38, e não é permitido em plataformas de 64 bit.

No C++, usando essas funções é simplificado pela sobrecargas de modelo; sobrecargas de podem inferir comprimento do buffer automaticamente, eliminando a necessidade de especificar um argumento de dimensionar.For more information, see Proteger overloads de modelo.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS 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 compatibilidade, consulte Compatibilidade na introdução.

Bibliotecas

Todas as versões do C em time de execução bibliotecas.

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( L"The time is %s\n", buf );
}

Saída de exemplo

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

Equivalente do NET Framework

Consulte também

Referência

Gerenciamento de time

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime _ftime32, _ftime64

_gmtime_s _gmtime32_s, _gmtime64_s

localtime_s _localtime32_s, _localtime64_s

time, _time32, _time64