begin process at 2012 05 30 16:32:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Remplir un string, probleme


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplir un string, probleme

mercredi 20 avril 2005 à 22:54:07 | Remplir un string, probleme

ChamY

Bonjour,
Je suis en 1ere année de BTS info.
J'ai un projet a realiser pendant ces vancances : une bibliotheque.
J ai un ptit probleme lors de l utilisation de "string". (lors de la saisie de texte)
 
si je declare une string comme :
 
string titre;
cin >> string;
 
Je ne peux pas taper d'espace (donc pour un titre c est genant). Mais sans espace mon programme marche.
 
pareil avec la commande :
std::getline (cin, titre);
qui me fait un peu tout bugger (il prend le caractere espace comme une fin de saisie).
 
Comme c'est assez difficile d expliquer, j ai uppé mon projet :  
http://thibault33.free.fr/Dossier% [...] theque.rar
 
il n'est pas totalement fini (manque de commentaires)
Si vous voyez comment resoudre se probleme :)
merci d avance.

ps: je ne sais pas si le probleme de mon code vient specialement de la. Si vous pouviez compiler mon code pour voir. J'utilise VC++6
 
code ou ca ne va pas :
  • string auteur;
  •   string titre;

  •   cout << "Titre : ";
  •   std::getline(std::cin,titre);

  •   cout << "Auteur : ";
  •   std::getline(std::cin,auteur);


  •   switch (touche)  
  •   {
  •     case 1 : {
  •                 unsigned nombrePages;
  •                 cout << "Nombre de pages : ";
  •         std::cin >> nombrePages;
  •         documents.push_back(new Livre(auteur, titre, nombrePages));
  •              }
  •             break;

mercredi 20 avril 2005 à 23:43:32 | Re : Remplir un string, probleme

luhtor

Deja, ya un truc qui me parait louche. "documents" c'est une liste ?
SI c'est le cas, ca me fait peur ca:
documents.push_back(new Livre(auteur, titre, nombrePages));

Peut etre que c'est moi qui reve, mais tu devrais plutot mettre;
documents.push_back(Livre(auteur, titre, nombrePages));

sauf si ta liste est composé de pointeur, mais ca m'étonnerait que tu es fait ca .

Sinon chez moi, il prend bien la ligne entière.


jeudi 21 avril 2005 à 00:25:55 | Re : Remplir un string, probleme

luhtor

Oublie ce que j'ai dis, c'est bien un vector de pointeur que tu as défini. Et d'ailleurs pourquoi avec utiliser un vector plutot qu'une list ? (meme si c'est pas la question)
jeudi 21 avril 2005 à 00:29:01 | Re : Remplir un string, probleme

ChamY

c est le sujet qui demande un vector :)

ah tu testé mon programme ? compilation puis test.
peu etre que c est mon logiciel qui bug

teste en mettant des espaces dans le titre et l auteur.
merci
jeudi 21 avril 2005 à 01:06:54 | Re : Remplir un string, probleme

ChamY

bon j ai modifié le tout pour que ca marche.
je dois terminer ma saisie par un point et c bon :

std::getline(std::cin,titre,'.');

a la detection du point, la saisie s arrete.
Ce qui est bizar c est que quand je mets :
std::getline(std::cin,titre,'\n'); (donc arret apres un retour a la ligne)
ca ne marche pas.
jeudi 21 avril 2005 à 01:22:21 | Re : Remplir un string, probleme

luhtor

Moi si je mets rien, ca marche, puisque par défaut, getline attend le retour à la ligne.
std::getline(std::cin,titre). Ca marche quand je n'inclue que iostream et string, je sais pas si sstream peut avoir une influence.

Je compile pas puisque je suis sous Dev moi, donc ca risque pas de marcher. Souvent des problèmes de librairies.
jeudi 21 avril 2005 à 12:55:56 | Re : Remplir un string, probleme

ChamY

J ai trouvé d ou venez le probleme.
J utilise VC6 avec le dernier SP.  Mais la fonction Getline est buggée.
microsoft propose une solution :
[ Lien ]

une fonction aussi utilisée qui marche mal ...
samedi 23 avril 2005 à 12:41:58 | Re : Remplir un string, probleme

0xYg3n3

Essaye ca

char buffer[1024];
string titre;

cout << "Entrer un titre:\t: ";
cin.getline(buffer,1024);
titre = buffer;



Cette discussion est classée dans : string, probleme, titre, std, cin


Répondre à ce message

Sujets en rapport avec ce message

Probleme de pause a la fin du programme. [ par comtention ] Bonjour, J'ai fait un tit programe tout bete, et en fait quand la variable text contien plus de deux caracteres et bien le programme s'efectue et se f probleme d'une chaine de caracteres [ par bilaloch ] Bonjour a tous,J'ai un ptit probleme au niveau d'une manipulation sur une chaine de caracteres. Voici le code : std::string *position = <FONT color=# probleme d'affectaction std::string dans std::string d'une classe [ par Rockanos ] Bonjour, j'ai un probleme au niveau de l'affectation d'un std::string dans un autre std::string appartenant a une class. Exemple: [code=cpp]class l lire chaîne ligne par ligne [ par mervat ] bonjour, je veux lire une chaîne (std::string) ligne par ligne, j'ai pas pu le faire avec std::getline car ça marche avec les fichiers (std::ifstream) Compiler un programme écrit en C++ utilisant une bibliothèque C. Erreurs... [ par Virus721 ] Bonjour tout le monde ! :) Voila j'essaye de me coder un petit jeu avec la bibliothèque SDL 1.2 et l'aide du site du zéro. J'essaye autant que possib utilisé string dans une dll c++ [ par avg ] Bonjour à tous j'ai un problème avec la création d'une dll avec c++ pour créer les fonctions à exporté de dll si son type de retour est int ou void le HELP - - getline string char conversion de types?? [ par gregroar ] //je teste dans une console la fonction getline, que je trouve suffisament rapide. //cependant je me retrouve confronté à des problemes de conversion Pb mix managed et unmanaged c++ [ par mastercatz ] Bonjour.J'essaye de faire une classe managée qui servira de wrapper entre mon projet c# et une classe c++ native.Mon problème est que le compilateur m probleme de map erreur de link [ par hisoka56 ] Bonjour, j'ai un problème de link: Linking... edition.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in .... Cela error __declspec(dllimport) lié STL ?? [ par Loki6 ] bonjour tout le monde, alors voilà à la génération de mon projet, étape édition de liens, j'ai une tonne deerror LNK2001: symbole externe non résolu "


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales