Comment utiliser la fonction getline()
Lucky-Luke87
Messages postés
1996
Statut
Membre
-
Lucky-Luke87 Messages postés 1996 Statut Membre -
Lucky-Luke87 Messages postés 1996 Statut Membre -
Bonjour,
Je suis actuellement en train de coder un petit programme gérant une bibliothèque de livres ; le problème est que lors de la saisie du titre du livre (par exemple), si des espaces se trouvent à l'intérieur de ma chaîne de caractères le programme bug complètement.
Faisant des recherches en ligne, j'ai utilisé à la saisie de chaque chaîne de caractère la fonction getline() dont voici un exemple dans mon programme :
getline(cin, biblio.livre[biblio.nbLivres].titre);
Mais je rencontre toujours le même problème, y-a-t-il quelque chose qui m'échappe?
Une bibliothèque à déclarer? Une erreur de syntaxe?
Merci d'avance!
Je suis actuellement en train de coder un petit programme gérant une bibliothèque de livres ; le problème est que lors de la saisie du titre du livre (par exemple), si des espaces se trouvent à l'intérieur de ma chaîne de caractères le programme bug complètement.
Faisant des recherches en ligne, j'ai utilisé à la saisie de chaque chaîne de caractère la fonction getline() dont voici un exemple dans mon programme :
getline(cin, biblio.livre[biblio.nbLivres].titre);
Mais je rencontre toujours le même problème, y-a-t-il quelque chose qui m'échappe?
Une bibliothèque à déclarer? Une erreur de syntaxe?
Merci d'avance!
1 réponse
-
Bonjour,
Si le code compile, c'est qu'il ne manque aucun include et il n'a pas besoin d'une bibliothèque particulière.
getline() va bien récupérer toute la ligne (avec ses espaces) et s'arrête au line feed.
Ce qui m'intrigue plus c'est [biblio.nbLivres], qui donne l'impression d'un indice au delà du max (une table va des indices 0 à tailleTable-1).-
Pour ce qui est de [biblio.nbLivres] : ceci contrôle le nombre de livres présents dans le tableau, le tableau est déclaré avec 100 cases et à chaque ajout d'un livre il est contrôlé que le tableau ne soit pas plein (càd que nbLivres soit strictement inférieur à 99).
Voudrais-tu que j'envoie une partie du code ainsi que ce qui s'affiche à l'écran?
Merci de ton aide :)
-