_strtime_s, _wstrtime_s

A time corrente para um buffer de cópia.Essas são sistema autônomo versões de _strtime, _wstrtime com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no CRT.

errno_t _strtime_s(
   char *buffer,
   size_t numberOfElements
);
errno_t _wstrtime_s(
   wchar_t *buffer,
   size_t numberOfElements
);
template <size_t size>
errno_t _strtime_s(
   char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrtime_s(
   wchar_t (&buffer)[size]
); // C++ only

Parâmetros

  • [out] buffer
    Um buffer de, pelo menos 10 bytes long, em que a time será gravada.

  • [in]numberOfElements
    O dimensionar do buffer.

Valor de retorno

Zero se for bem-sucedido.

Se ocorrer uma condição de erro, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. O valor retornado é um código de erro se houver uma falha.Códigos de erro são definidos no ERRNO.H; consulte a tabela a seguir para as exatas erros gerados por essa função.Para obter mais informações sobre códigos de erro, consulte Constantes errno.

Condições de erro

buffer

numberOfElements

Return

Sumário de buffer

NULL

(qualquer)

EINVAL

Não modificado

Not NULL (apontando para o buffer válido)

0

EINVAL

Não modificado

Not NULL (apontando para o buffer válido)

0 < dimensionar < 9

EINVAL

Seqüência de caracteres vazia

Not NULL (apontando para o buffer válido)

Dimensionar > 9

0

time corrente formatada sistema autônomo especificado nos comentários

Questões de segurança

Passando um valor diferente de nulo inválido para o buffer resultará em uma violação de acesso se a numberOfElements parâmetro é maior que 9.

Passando um valor de numberOfElements é maior do que o dimensionar do buffer real resultará na saturação de buffer.

Comentários

Essas funções fornecem versões mais seguras de _strtime e _wstrtime. The _strtime_s função copia a time local corrente para o buffer apontado por timestr*.* O time é formatado sistema autônomo hh:mm:ss onde hh é dois dígitos que representa a time em notação de 24 horas, mm é de dois dígitos que representa sistema autônomo minutos depois da time estabelecida, e ss é dois dígitos representando segundos. Por exemplo, a seqüência de caracteres 18:23:44 representa 23 minutos e 44 segundos após 6 horas O buffer deve ser pelo menos 9 bytes; o dimensionar real é especificado pelo segundo parâmetro.

_wstrtime é uma versão de caractere largo da _strtime; valor de argumento e retornar _wstrtime são seqüências de caracteres largos. Essas funções se comportam exatamente caso contrário.

No C++, usando essas funções é simplificado pelo modelo sobrecargas; sobrecargas de podem inferir o comprimento do buffer automaticamente (eliminando a necessidade de especificar um argumento de dimensionar) e eles podem substituir automaticamente funções não seguras, mais antigas, com suas contrapartes mais recentes e seguras.For more information, see Proteger overloads de modelo.

Mapeamento de rotina texto genérico:

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

Requisitos

Rotina

Cabeçalho necessário

_strtime_s

<time.h>

_wstrtime_s

<time.h> ou <wchar.h>

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

Exemplo

// strtime_s.c

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

int main()
{
    char tmpbuf[9];
    errno_t err;

    // Set time zone from TZ environment variable. If TZ is not set,
    // the operating system is queried to obtain the default value 
    // for the variable. 
    //
    _tzset();

    // Display operating system-style date and time. 
    err = _strtime_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
      exit(1);
    }
    printf( "OS time:\t\t\t\t%s\n", tmpbuf );
    err = _strdate_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
       exit(1);
    }
    printf( "OS date:\t\t\t\t%s\n", tmpbuf );

}

OS time:            14:37:49 OS date:            04/25/03

Equivalente do NET Framework

Consulte também

Referência

Gerenciamento de time

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