Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_strtime_s, _wstrtime_s

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

[out] buffer

Une mémoire tampon, d'au moins 10 octets, où le temps sera écrit.

[in] numberOfElements

Taille de la mémoire tampon.

Zéro en cas de réussite.

Si une erreur advient, le gestionnaire de paramètres invalides est appelé, comme décrit dans Validation de paramètre. La valeur de retour est un code d'erreur en cas de é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'information sur le codes d'erreur, consultez errno Constants.

Conditions d'erreur

buffer

numberOfElements

Return

Contenu de buffer.

NULL

(Indifférent)

EINVAL

Non modifié

Non NULL (pointeur vers la mémoire tampon valide)

0

EINVAL

Non modifié

Non NULL (pointeur vers la mémoire tampon valide)

0 < size < 9

EINVAL

Chaîne vide

Non NULL (pointeur vers la mémoire tampon valide)

Size > 9

0

Heure actuelle au format spécifié dans les notes

Transmettre dans une valeur non-NULL invalide pour a mémoire tampon engendrera une violation des droits d'accès si le paramètre <parameterReference>numberOfElements</parameterReference> est plus grand que 9.

Passer une valeur pour numberOfElements qui est plus grande que la taille actuelle de la mémoire tampon engendrera un dépassement de capacité de la mémoire tampon.

Ces fonctions fournissent des versions plus sécurisées de_strtime et de_wstrtime. La fonction _strtime_s copie l'heure locale actuelle dans la mémoire tampon désignée par timestr. L'heure est mise sous la forme hh:mm:sshh sont deux chiffres qui représentent l'heure dans la notation horaire sur 24 heures, mm sont deux chiffres qui représentent les minutes après l'heure, et ss sont deux chiffres représentant les secondes. Par exemple, la chaîne 18:23:44 représente 23 minutes et 44 secondes après 18h La mémoire tampon doit être au moins de 9 octets ; la taille réelle est spécifiée par le deuxième paramètre.

_wstrtime est une version caractères larges de _strtime; l'argument et la valeur de retour de _wstrtime sont des chaînes de caractères larges. Ces fonctions se comportent sinon de façon identique.

En C++, l'utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire la longueur de la mémoire tampon automatiquement (ce qui évite d'avoir à spécifier un argument taille) et peuvent remplacer automatiquement les fonctions plus anciennes et non sécurisées par leurs équivalentes plus récentes et sécurisées. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

Mappage de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

Routine

En-tête requis

_strtime_s

<time.h>

_wstrtime_s

<time.h> or <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

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

}
Heure du système d'exploitation :            14h37 49s
Date du système d'exploitation : 04/25/03

Ajouts de la communauté

Afficher:
© 2015 Microsoft