probleme de saisie avec cin.getline()

probleme de saisie avec cin.getline() - C++ - Programmation

Marsh Posté le 27-03-2005 à 17:20:02    

bonjour,
 
J'ai un problème de saisie avec cin.getline().
Lorsque je l'utilise pour la 1ere saisie, le système m'affiche bien le nom. Par contre pour la 2e saisie elle m'affiche tous les caractères du prénom sauf le 1er (ex: gerard -> erard).
Et ainsi de suite pour les saisies suivantes.
 
 

Code :
  1. char *nom, *prenom, char chaine[255];
  2. cout<<endl<< "Veuillez saisir le nom : "<<flush;
  3. cin.get();
  4. cin.getline(chaine, 255);
  5. nom = new char[sizeof(chaine)];
  6. strcpy(nom, chaine);
  7. <<"Son prenom est "<<chaine<<flush<<endl;  // aucun problème à l'affichage
  8. cout<<endl<<" Veuillez saisir le prenom : "<<flush;
  9. cin.get();
  10. cin.getline(chaine, 255);
  11. prenom = new char[sizeof(chaine)];
  12. strcpy(prenom, chaine);
  13. cout<<"Son prenom est "<<chaine<<flush<<endl;  // affiche erard au lieu de gerard


D'où pourrait provenir le problème?  
Ai-je oublier d'initialiser ou de vider quelque chose ??

Reply

Marsh Posté le 27-03-2005 à 17:20:02   

Reply

Marsh Posté le 27-03-2005 à 17:39:25    

balance tes char*
utilise les std::string
 
et après
 
if(std::getline(std::cin, line)) {
  OK
}
else {
  problème
}

Reply

Sujets relatifs:

Leave a Replay

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