Plusieurs entrées sur une seule ligne
J'ai cherché en vain, et j'ai peur qu'il pourrait être une question aussi simple que personne n'ose plus lui demander.
Peut-on entrer plusieurs choses à partir de l'entrée standard en une seule ligne? Je veux dire ceci:
float a, b;
char c;
//It is safe to assume a, b, c will be in float, float, char form?
cin >> a >> b >> c;
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez saisir plusieurs éléments de
cin
, en utilisant exactement la syntaxe que vous décrivez. Le résultat est sensiblement identique à:Cela est dû à une technique appelée "opérateur de chaîne".
Chaque appel à
operator>>(istream&, T)
(oùT
est arbitraire type) renvoie une référence à son premier argument. Donccin >> a
retournecin
, qui peut être utilisé comme(cin>>a)>>b
et ainsi de suite.Noter que chaque appel à
operator>>(istream&, T)
première consomme tous les caractères espace, alors que le nombre de caractères que nécessaire pour satisfaire à l'opération d'entrée, jusqu'à (mais non compris) de la première à côté des espaces de caractère, de caractère non valide, ou expressions du FOLKLORE.skipws
drapeau est réglé.Oui, vous le pouvez.
De cplusplus.com:
Il suffit de remplacer
strm
aveccin
.