comment faire des commandes en entrant du txt (avec cin)

comment faire des commandes en entrant du txt (avec cin) - C++ - Programmation

Marsh Posté le 28-03-2005 à 11:52:02    

Bonjour
j'aimerais effectuer une action lorsque j'entre du texte dans une variable avec cin, mais je n'arrive ensuite pas à la comparer à une autre chaîne.
merci :jap:

Reply

Marsh Posté le 28-03-2005 à 11:52:02   

Reply

Marsh Posté le 28-03-2005 à 12:40:51    

Code :
  1. pa clair ske tu dit m'enfin essaie ca:
  2. #include <string>
  3. #include <iostream>
  4. int main()
  5. {
  6. std::string s1, s2="Chaine de comparaison";
  7. std::cin >> s1;
  8. if (s1==s2)
  9. {
  10. action();
  11. }
  12. return 0;
  13. }

Reply

Marsh Posté le 28-03-2005 à 12:42:38    

bigears a écrit :

Code :
  1. std::cin >> s1;



 :non:

Reply

Marsh Posté le 28-03-2005 à 12:54:34    

kes ke z fé encore kom connerie? (c dur de faire du c++ au réveil :) )

Reply

Marsh Posté le 28-03-2005 à 12:57:43    

bigears a écrit :

kes ke z fé encore kom connerie? (c dur de faire du c++ au réveil :) )


Il vaut mieux faire:

Code :
  1. std::getline(std::cin, s);

Je te laisse chercher pourquoi dans le forum.  ;)  

Reply

Marsh Posté le 28-03-2005 à 13:05:08    

ah ué mé bon je faisait ca à l'arrache. Et puis pour un prog kom ca un getline c abusé :)
 
Pour mmat->  getline est un fonction qui va lire le flux(std::cin) jusqu'au caractère retour chariot et le placer dans la variable s. ( Si je me trompe pas elle est surchagée et à un troisième paramètre qui permet de choisir le caractère de fin de lecture à la place du retour chariot)
 
Edit-> je rajoute que l'avantege par rapport a cin c de pouvoir avoir une chaine de caractère formatée, ce qui n'est pas posssible avec cin.
 
Si en lançant le programme que j'ai écrit plus haut et que tu écrirai "Chaine de comparaison" dans le cin, le programme comparerai en fait Chaine et Chaine de comparaison car cin n'est pas capable de lire les caractères de formatage tels que les espaces.


Message édité par bigears le 28-03-2005 à 13:10:36
Reply

Marsh Posté le 28-03-2005 à 13:24:56    

merci a tous :hello:


Message édité par mmatt le 28-03-2005 à 13:38:24
Reply

Marsh Posté le 28-03-2005 à 13:36:56    

mais encore un question : comment convertir ensuite cette string en un nombre( je n'arrive pas avec istringstream :??:


Message édité par mmatt le 28-03-2005 à 13:37:45
Reply

Marsh Posté le 28-03-2005 à 14:47:12    

ben g pa tro le temps mais tu a le droit de passer un entier a getline ou cin

Code :
  1. #include <string>
  2. #include <iostream>
  3. int main()
  4. {
  5. int s1, s2=10;
  6. std::cin >> s1;
  7. if (s1==s2)
  8. {
  9. action();
  10. }
  11. return 0;
  12. }


Message édité par bigears le 28-03-2005 à 14:47:53
Reply

Marsh Posté le 28-03-2005 à 16:40:07    

:bounce:  :bounce:  :bounce:  :bounce:  :bounce:


Message édité par mmatt le 31-03-2005 à 12:48:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed