Comprendre un message d'erreur
Fermé
Voking
-
Modifié le 9 mai 2019 à 16:21
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 14 mai 2019 à 09:11
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 14 mai 2019 à 09:11
A voir également:
- Comprendre un message d'erreur
- Erreur 1004 vba ✓ - Forum VB / VBA
- Recuperer message whatsapp - Guide
- Message d'absence outlook - Guide
- Messenger me dit que j'ai un message alors que non - Forum Facebook Messenger
- Message d'absence thunderbird - Guide
2 réponses
Dalfab
Messages postés
703
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
1 mars 2023
100
13 mai 2019 à 11:41
13 mai 2019 à 11:41
on peut tout à fait enchaîner les
Cela fonctionne tout fait avec les
Quant au code
Mais ici le but est de copier tout ce qui provient d'un flux vers un autre. On peut plus simplement écrire à la place
<<et
>>sont fait pour ça.
Cela fonctionne tout fait avec les
std::stringsauf que la séquence "
unIStream >> uneString" ne va extraire qu'un mot pas toute une ligne (comme "%s" en C). Pour gérer une ligne entière il faut utiliser la fonction
std::getline()comme préconisé par Dal.
Quant au code
while(Graph_In.good)
{
Graph_In >> inter; // ne lit qu'un mot
cout << inter << endl; // le transforme en ligne
}L'erreur vient de parenthèses manquantes, goodest une fonction. Il faut écrire
while ( Graph_In.good() )ou même plus simplement
while ( Graph_In ) {
std::string inter;
std::getline( Graph_in , inter );
std::cout << inter << std::endl;
}
Mais ici le but est de copier tout ce qui provient d'un flux vers un autre. On peut plus simplement écrire à la place
std::cout << Graph_in.rdbuf();
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
10 mai 2019 à 09:34
10 mai 2019 à 09:34
Salut Voking,
Je ne suis pas expert en C++, mais il me semble que les flux istream avec l'opérateur >> peuvent travailler sur les types suivants, parmi lesquels ne figure pas string :
http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/
Pour récupérer une string à partir d'un tel flux, tu peux utiliser std::getline :
http://www.cplusplus.com/reference/string/string/getline/
Dal
Je ne suis pas expert en C++, mais il me semble que les flux istream avec l'opérateur >> peuvent travailler sur les types suivants, parmi lesquels ne figure pas string :
http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/
Pour récupérer une string à partir d'un tel flux, tu peux utiliser std::getline :
http://www.cplusplus.com/reference/string/string/getline/
Dal
14 mai 2019 à 09:11