std::chrono:: from_stream (std::chrono::year_month_day)
|
Défini dans l'en-tête
<chrono>
|
||
|
template
<
class
CharT,
class
Traits,
class
Alloc
=
std::
allocator
<
CharT
>
>
std::
basic_istream
<
CharT, Traits
>
&
|
(depuis C++20) | |
Tente d'analyser le flux d'entrée is dans le std::chrono::year_month_day ymd selon la chaîne de format fmt .
Se comporte comme une
UnformattedInputFunction
, sauf qu'elle a un effet non spécifié sur
is.
gcount
(
)
. Après avoir construit et vérifié l'objet sentinelle, tente d'analyser le flux d'entrée
is
dans
ymd
selon la chaîne de format
fmt
. Si l'analyse échoue à décoder un
year_month_day
valide,
is.
setstate
(
std::
ios_base
::
failbit
)
est appelé et
ymd
n'est pas modifié.
Si le spécificateur de format
%Z
est utilisé et analysé avec succès, la valeur analysée est assignée à
*
abbrev
si
abbrev
n'est pas nul. Si le spécificateur de format
%z
ou une variante modifiée est utilisé et analysé avec succès, la valeur analysée est assignée à
*
offset
si
offset
n'est pas nul.
Table des matières |
Paramètres
| is | - | un flux d'entrée |
| fmt | - | une chaîne de format (voir ci-dessous) |
| ymd | - | objet pour contenir le résultat de l'analyse |
| abbrev | - |
si non nul, pointeur vers un objet qui contiendra l'abréviation ou le nom du fuseau horaire correspondant au
%Z
spécificateur
|
| offset | - |
si non nul, pointeur vers un objet qui contiendra le décalage par rapport à UTC correspondant au
%z
spécificateur
|
Chaîne de format
La chaîne de format est constituée de zéro ou plusieurs spécificateurs de conversion et de caractères ordinaires. Chaque caractère ordinaire, à l'exception des caractères d'espacement et du caractère nul de fin, correspond à un caractère identique provenant du flux d'entrée, ou provoque l'échec de la fonction si le caractère suivant dans le flux n'est pas égal par comparaison.
Chaque caractère d'espacement correspond à zéro ou plusieurs caractères d'espacement dans le flux d'entrée.
Chaque spécificateur de conversion non modifié commence par un
%
suivi d'un caractère qui détermine le comportement du spécificateur. Certains spécificateurs de conversion ont une forme modifiée dans laquelle un caractère modificateur
E
ou
O
est inséré après le caractère
%
. Certains spécificateurs de conversion ont une forme modifiée dans laquelle un paramètre de largeur donné sous forme d'entier décimal positif (représenté comme
N
ci-dessous) est inséré après le caractère
%
. Chaque spécificateur de conversion entraîne l'interprétation des caractères correspondants comme des parties de types de date et d'heure selon le tableau ci-dessous.
Une séquence de caractères dans la chaîne de format qui commence par un
%
mais ne correspond pas à l'un des spécificateurs de conversion ci-dessous est interprétée comme des caractères ordinaires.
Si
from_stream
ne parvient pas à analyser tout ce qui est spécifié par la chaîne de format, ou si des informations insuffisantes sont analysées pour spécifier un résultat complet, ou si l'analyse révèle des informations contradictoires,
is.
setstate
(
std::
ios_base
::
failbit
)
est appelé.
Les spécificateurs de conversion suivants sont disponibles :
|
Spécificateur
de conversion |
Explication | |
|---|---|---|
%%
|
Correspond à un caractère
%
littéral.
|
|
%n
|
Correspond à un caractère d'espacement. | |
%t
|
Correspond à zéro ou un caractère d'espacement. | |
| Année | ||
%C
%
N
C
%EC
|
Analyse le siècle comme un nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros en tête sont autorisés mais pas obligatoires.
La commande modifiée
|
|
%y
%
N
y
%Ey
%Oy
|
Analyse les deux derniers chiffres décimaux de l'année. Si le siècle n'est pas spécifié autrement (par exemple avec %C), les valeurs dans la plage [69, 99] sont présumées se référer aux années 1969 à 1999, et les valeurs dans la plage [00, 68] sont présumées se référer aux années 2000 à 2068. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
Les commandes modifiées
|
|
%Y
%
N
Y
%EY
|
Analyse l'année en tant que nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 4. Les zéros en tête sont autorisés mais pas obligatoires.
La commande modifiée
|
|
| Mois | ||
%b
%B
%h
|
Analyse le nom complet ou abrégé du mois, insensible à la casse, selon les paramètres régionaux. | |
%m
%
N
m
%Om
|
Analyse le mois sous forme de nombre décimal (janvier correspond à
1
). La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros initiaux sont autorisés mais pas obligatoires.
La commande modifiée
|
|
| Jour | ||
%d
%
N
d
%Od
%e
%
N
e
%Oe
|
Analyse le jour du mois comme un nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
Les commandes modifiées
|
|
| Jour de la semaine | ||
%a
%A
|
Analyse le nom complet ou abrégé du jour de la semaine, insensible à la casse, selon les paramètres régionaux. | |
%u
%
N
u
|
Analyse le jour de la semaine ISO sous forme de nombre décimal (1-7), où lundi correspond à
1
. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 1. Les zéros non significatifs sont autorisés mais pas obligatoires.
|
|
%w
%
N
w
%Ow
|
Analyse le jour de la semaine sous forme de nombre décimal (0-6), où dimanche est
0
. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 1. Les zéros non significatifs sont autorisés mais pas obligatoires.
La commande modifiée
|
|
| Année ISO 8601 basée sur les semaines | ||
|
Dans la norme ISO 8601, les semaines commencent le lundi et la première semaine de l'année doit satisfaire aux exigences suivantes :
|
||
%g
%
N
g
|
Analyse les deux derniers chiffres décimaux de l'année basée sur la semaine ISO 8601. La largeur N spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros en tête sont autorisés mais pas obligatoires. | |
%G
%
N
G
|
Analyse l'année basée sur la semaine ISO 8601 comme un nombre décimal. La largeur N spécifie le nombre maximum de caractères à lire. La largeur par défaut est 4. Les zéros en tête sont autorisés mais pas obligatoires. | |
%V
%
N
V
|
Analyse la semaine ISO 8601 de l'année sous forme de nombre décimal. La largeur N spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires. | |
| Semaine/jour de l'année | ||
%j
%
N
j
|
Analyse le jour de l'année sous forme de nombre décimal (le 1er janvier est
1
). La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 3. Les zéros non significatifs sont autorisés mais pas obligatoires.
|
|
%U
%
N
U
%OU
|
Analyse le numéro de semaine de l'année en tant que nombre décimal. Le premier dimanche de l'année est le premier jour de la semaine 01. Les jours de la même année antérieurs à celui-ci sont dans la semaine 00. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
La commande modifiée
|
|
%W
%
N
W
%OW
|
Analyse le numéro de semaine de l'année en tant que nombre décimal. Le premier lundi de l'année est le premier jour de la semaine 01. Les jours de la même année antérieurs à celui-ci sont dans la semaine 00. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
La commande modifiée
|
|
| Date | ||
%D
|
Équivalent à
"%m/%d/%y"
.
|
|
%F
%
N
F
|
Équivalent à
"%Y-%m-%d"
. Si la largeur est spécifiée, elle est uniquement appliquée au
%Y
.
|
|
%x
%Ex
|
Analyse la représentation de date de la locale.
La commande modifiée
|
|
| Heure de la journée | ||
%H
%
N
H
%OH
|
Analyse l'heure (format 24 heures) sous forme de nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros initiaux sont autorisés mais pas obligatoires.
La commande modifiée
|
|
%I
%
N
I
%OI
|
Analyse l'heure (format 12 heures) sous forme de nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros initiaux sont autorisés mais non obligatoires.
La commande modifiée
|
|
%M
%
N
M
%OM
|
Analyse la minute sous forme de nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
La commande modifiée
|
|
%S
%
N
S
%OS
|
Analyse la seconde comme un nombre décimal. La largeur
N
spécifie le nombre maximum de caractères à lire. La largeur par défaut est 2. Les zéros non significatifs sont autorisés mais pas obligatoires.
La commande modifiée
|
|
%p
|
Analyse les équivalents locaux des désignations AM/PM associées à une horloge de 12 heures. | |
%R
|
Équivalent à
"%H:%M"
.
|
|
%T
|
Équivalent à
"%H:%M:%S"
.
|
|
%r
|
Analyse l'heure au format 12 heures de la locale. | |
%X
%EX
|
Analyse la représentation horaire de la locale.
La commande modifiée
|
|
| Divers | ||
%c
%Ec
|
Analyse la représentation de la date et de l'heure de la locale.
La commande modifiée
|
|
%z
%Ez
%Oz
|
Analyse le décalage horaire par rapport à UTC au format
[+|-]hh[mm]
. Par exemple,
-0430
correspond à 4 heures 30 minutes derrière UTC et
04
correspond à 4 heures devant UTC.
Les commandes modifiées
|
|
%Z
|
Analyse l'abréviation ou le nom du fuseau horaire, pris comme la plus longue séquence de caractères qui contient uniquement les caractères
A
à
Z
,
a
à
z
,
0
à
9
,
-
,
+
,
_
, et
/
.
|
|
Valeur de retour
is
Voir aussi
|
(C++20)
|
analyse un objet
chrono
depuis un flux
(modèle de fonction) |