strftime, wcsftime, _strftime_l, _wcsftime_l
Mettez en forme d'une chaîne de temps.
size_t strftime(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr
);
size_t _strftime_l(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr,
_locale_t locale
);
size_t wcsftime(
wchar_t *strDest,
size_t maxsize,
const wchar_t *format,
const struct tm *timeptr
);
size_t _wcsftime_l(
wchar_t *strDest,
size_t maxsize,
const wchar_t *format,
const struct tm *timeptr,
_locale_t locale
);
Paramètres
strDest
chaîne de sortie.maxsize
Taille de la mémoire tampon d' strDest , mesurées en caractères (char ou wchart_t).format
Chaîne de format.timeptr
structure de données d'tm .locale
Les paramètres régionaux à utiliser.
Valeur de retour
strftime retourne le nombre de caractères placés dans strDest et wcsftime retourne le nombre correspondant à caractères larges.
Si le nombre total de caractères, y compris un caractère null de fin, est plus qu' maxsize, strftime et wcsftime retournent 0 et le contenu d' strDest est indéterminé.
Le nombre de caractères dans strDest est égal au nombre de caractères littéraux dans format ainsi que de tous les caractères qui peuvent être ajoutés à format via codes de mise en forme.Null de fin d'une chaîne n'est pas considéré dans la valeur de retour.
Notes
Les fonctions d' strftime et d' wcsftime met en forme la valeur d'heure d' tm dans timeptr en fonction de l'argument fourni d' format et inscrivent le résultat dans la mémoire tampon strDest*.* Au plus, les caractères d' maxsize sont placés dans la chaîne.Pour une description des champs de la structure d' timeptr , consultez l' asctime.wcsftime est l'équivalent à caractère élargi d' strftime; ses points d'argument de chaîne-pointeur à une chaîne à caractères larges.Ces fonctions se comportent de sinon.
[!REMARQUE]
Dans les versions antérieures à Visual C++ 2005, la documentation décrivait le paramètre d' format d' wcsftime comme ayant le type de données const wchar_t *, mais l'implémentation réelle du type de données d' format était const char *.L'implémentation du type de données d' formata été mise à jour pour refléter la documentation précédente et actuelle, c. autrement dit., const wchar_t *.
cette fonction valide ses paramètres.Si strDest, format, outimeptr est un pointeur null, ou si la structure de données d' tm adressée par timeptr n'est pas valide (par exemple, s'il contient des valeurs non valides pour l'heure ou la date), ou si la chaîne d' format contient le code de mise en forme non valide, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, la fonction retourne 0 et définit errno à EINVAL.
mappages de routines de texte générique
routine de TCHAR.H |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsftime |
strftime |
strftime |
wcsftime |
L'argument d' format se compose d'un ou plusieurs code ; comme dans printf, les codes de mise en forme sont précédés par un signe de pourcentage (%).Les caractères qui ne commencent pas par % sont copiés inchangés à strDest*.* La catégorie d' LC_TIME des paramètres régionaux affecte la mise en forme de sortie d' strftime.(Pour plus d'informations sur LC_TIME, consultez setlocale.) Les fonctions sans le suffixe d' _l utilisent les paramètres régionaux actuellement définis.Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles prennent les paramètres régionaux comme paramètre et utilisent qu'au lieu des paramètres régionaux actuellement définis.Pour plus d'informations, consultez Paramètres régionaux.
Codes de mise en forme pour strftime sont répertoriés ci-dessous :
%a
Nom abrégé du jour de la semaine%A
Nom complet du jour de la semaine%b
Nom abrégé du mois%B
nom complet du mois%c
Représentation de date et d'heure appropriée pour les paramètres régionaux%d
Jour du mois comme un nombre décimal (01 – 31)%H
Heure au format 24 heures (00 – 23)%I
Heure au format 12 heures (01 – 12)%j
Jour d'année sous la forme d'un nombre décimal (001 – 366)%m
Mois comme un nombre décimal (01 – 12)%M
Minute comme un nombre décimal (00 – 59)%p
Heure du matin actuelle/PM. les paramètres régionaux.indicateur de l'horloge de 12 heures%S
Deuxièmement comme un nombre décimal (00 – 59)%U
Semaine d'année sous la forme d'un nombre décimal, avec dimanche comme premier jour de la semaine (00 – 53)%w
Jour de la semaine comme un nombre décimal (0 – 6 ; dimanche est 0)%W
Semaine d'année sous la forme d'un nombre décimal, avec lundi comme premier jour de la semaine (00 – 53)%x
Représentation de date de les paramètres régionaux%X
Performances du temps de les paramètres régionaux%y
Année sans siècle, comme un nombre décimal (00 – 99)%Y
Année avec le siècle, comme un nombre décimal%z, %Z
Le nom du fuseau horaire ou abréviation de fuseau horaire, en fonction de les paramètres du Registre ; aucun caractères si le fuseau horaire est inconnu%%
signe de pourcentage
Comme dans la fonction d' printf , la balise d' # peut ajouter tout code de mise en forme.dans ce cas, la signification de code de format est modifiée comme suit.
Code du format |
Signification |
---|---|
%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#% |
la balise d'# est ignorée. |
%#c |
À long terme et le temps passé dans les performances, appropriée pour les paramètres régionaux.par exemple : « Mardi 14 mars 1995, à 12h41 : 29". |
%#x |
La représentation à long terme, robustesse et aux paramètres régionaux.par exemple : « Mardi 14 mars 1995 ». |
%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y |
Supprimez les zéros non significatifs (le cas échéant). |
Configuration requise
routine |
en-tête requis |
---|---|
strftime |
<time.h> |
wcsftime |
<time.h> ou <wchar.h> |
_strftime_l |
<time.h> |
_wcsftime_l |
<time.h> ou <wchar.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
Consultez l'exemple pour temps.