Partager via


_strtime_s, _wstrtime_s

Copiez l'heure actuelle vers une mémoire tampon.Ce sont des versions de _strtime, _wstrtime avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du 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

Paramètres

  • [out] buffer
    Une mémoire tampon, au moins 10 octets, où le temps sera enregistré.

  • [in] numberOfElements
    Taille de la mémoire tampon.

Valeur de retour

Zéro si l'opération a réussi.

si une condition d'erreur se produit, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.La valeur de retour est un code d'erreur si un échec.Les codes d'erreur sont définis dans ERRNO.H ; consultez le tableau suivant pour les erreurs exactes générées par cette fonction.Pour plus d'informations sur les codes d'erreur, consultez constantes d'errno.

conditions d'erreur

buffer

numberOfElements

Return

contenu d' buffer

NULL

(les)

EINVAL

non modifié

Pas NULL (pointant vers la mémoire tampon valide)

0

EINVAL

non modifié

Pas NULL (pointant vers la mémoire tampon valide)

0 Tailles < 9 d'<

EINVAL

Chaîne vide

Pas NULL (pointant vers la mémoire tampon valide)

Redimensionnez > 9

0

Heure actuelle mis en forme comme spécifié dans les notes

problèmes de sécurité

Passez la valeur non null valide pour la mémoire tampon provoquera une violation d'accès si le paramètre d' numberOfElements est supérieur à 9.

Passer une valeur pour numberOfElements supérieure à la grandeur réelle de la mémoire tampon provoquera un dépassement de mémoire tampon.

Notes

ces fonctions fournissent des versions plus sécurisées d' _strtime et d' _wstrtime.La fonction d' _strtime_s copie l'heure locale actuelle dans la mémoire tampon désignée par timestr*.* Il est mis en forme comme un hh:mm:ss où hh est deux chiffres représentant l'heure en notation de 24 heures, mm est deux chiffres représentant les minutes après l'heure, et ss est deux chiffres qui représente les secondes.Par exemple, la chaîne 18:23:44 représente 23 minutes et 44 secondes au delà de le 18hLa mémoire tampon doit être au moins de 9 octets ; la grandeur réelle est spécifiée par le deuxième paramètre.

_wstrtime est une version à caractère élargi d' _strtime; l'argument et que la valeur de retour d' _wstrtime sont des chaînes à caractères larges.Ces fonctions se comportent de sinon.

En C++, à l'aide de ces fonctions est simplifié par des surcharges de modèle ; les surcharges peuvent également déduire la longueur de la mémoire tampon automatiquement (en éliminant le besoin de spécifier un argument de taille) et peuvent remplacer automatiquement des fonctions plus anciennes et non sécurisées par leurs nouvelles, sécurisées équivalents.Pour plus d'informations, consultez Surcharges sécurisées de modèle.

mappage de routines de texte générique :

routine de TCHAR.H

_MBCS & de _UNICODE non défini

_MBCS défini

_UNICODE défini

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

Configuration requise

routine

en-tête requis

_strtime_s

<time.h>

_wstrtime_s

<time.h> ou <wchar.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Exemple

// 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 );

}
  

Équivalent .NET Framework

Voir aussi

Référence

Gestion de la durée

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