Flux désynchronisé comment régler ca? - C++ - Programmation
Marsh Posté le 27-12-2004 à 14:15:57
ca ne marche pas avec les strings mais avec les char *
j'ai déja essayé ,ca ne change rien
esaye toi meme
Marsh Posté le 27-12-2004 à 14:45:22
Code :
|
Marsh Posté le 27-12-2004 à 23:00:06
ca ne marche tj pas !
pour encoder il faut taper 2x sur enter !!
il enregistre ce qu'il y'a AVANT le enter dans nomClient
il enregistre ce qu'il y'a APRES le enter dans prenomClient
il refuse le second getline !!!!!!
#include <iostream>
#include <string>
using namespace std;
int main()
{
string nomClient,prenomClient;
cout<<"nom client"<<endl;
getline(cin,nomClient,'\n');
cout << nomClient<<endl;
cout<<"prenom client"<<endl;
getline(cin,prenomClient,'\n');
cout<< prenomClient<<endl;
return EXIT_SUCCESS;
}
Marsh Posté le 27-12-2004 à 23:33:46
moi je veux un délimiteur.
et surtout régler ce probleme de désynchronisation
Marsh Posté le 27-12-2004 à 23:35:55
putain, je te dis que le délimiteur par défaut de getline c'est '\n' ... t'es pas sorti
Marsh Posté le 27-12-2004 à 23:39:22
putain, je veux régler le vrai probleme pas savoir si une chose est optionnelle car ca ne m'avance pas
Marsh Posté le 27-12-2004 à 23:43:04
je te jure que le compilateur fait pas ce que je demande !
il désynchronise le flux dirait on !
car je dois taper 2x sur enter pour encoder le nomClient !
(j'ai enlevé tout les délimiteurs pourtant)
Marsh Posté le 27-12-2004 à 23:43:44
a quoi est du ce problème?
sur certaines machines il me fait le coup
Marsh Posté le 27-12-2004 à 23:46:23
je fais un
cout << nomClient << " crasse: "<< cin.peek() << (char)cin.get();
pour voir la crasse qui traine
et c'est --> 10
je ne sais pas d'ou sort ce 10
Marsh Posté le 28-12-2004 à 00:17:01
c'est la faute de ta bibliothèque qui va avec ton compilo
Marsh Posté le 28-12-2004 à 00:17:45
j'essaye de compiler mon fichier avec dev c++
mais il me dit unable to run program file
Marsh Posté le 28-12-2004 à 00:37:13
j'ai choppé ca sur un site mais ca m'aide pas
Note : Remarquez que le caractère de saut de ligne étant lu, il est nécessaire de saisir deux retours de chariot successifs pour que la méthode getline renvoie son résultat. Comme pour toutes les méthodes de lectures formatées, ce caractère interrompt la lecture dans le flux d'entrée standard du programme et se trouve donc encore dans le tampon d'entrée lors de la lecture suivante. Cela explique que dans le cas de lectures successives, il faut extraire ce caractère du flux d'entrée manuellement, par exemple à l'aide de la méthode get. C'est ce que cet exemple réalise sur sa dernière ligne pour l'envoyer sur le flux de sortie standard.
Marsh Posté le 28-12-2004 à 00:38:26
g viré le return
ca ne change rien
il me dit tj unable to run program file
pas moyen de le compiler et de le runer
Marsh Posté le 28-12-2004 à 00:58:25
bon j'ai mis dev ++ 4
cette fois il compile
mais c tj le meme problème !
il demande 2 enter pour le 1er getline (1er string)
et il demande 1 enter pour le 2 eme getline mais n'affiche pas la valeur du second string
Marsh Posté le 28-12-2004 à 01:11:25
ReplyMarsh Posté le 28-12-2004 à 01:41:54
chut toi
HELP
one miracle please !!
COMMENT FAAAAAAAIIIIIIIIIIIIREEEEEEEEEEEEEEEEEEEE
ce flux est désynchronisé !
Marsh Posté le 28-12-2004 à 01:54:40
non, il est pas désynchronisé, c'est toi qui sait pas où est ta touche [Entrée]. pAr définition, cin et cout sont synchronisé. Ca va faire 10ans que des gens font des cout/getline/cout, et toit tu viens nous expliquer que ça marche pas : le problème, c'est toi.
Moi je joue avec ça chez moi
Code :
|
et ça marche du tonnerre.
Marsh Posté le 28-12-2004 à 02:13:48
putain de compilo
microsoft hein :@
Marsh Posté le 28-12-2004 à 02:16:51
enfin il marche avec dev c++
finalement c pas trop tôt un résultat ca fait du bien!
merci !
putain j'ai tout un projet avec une 30 aine de fichiers
a balancer d'un compilo a l'autre maintenant.
mh ah lala
Marsh Posté le 28-12-2004 à 10:35:01
Comment régler ça ?
Bah passer à un compilo qui a moins de 10 ans. La STL qui est dans VS6 est la même que celle de VS5, c'est dire si elle date. Donc soi tu passes à VC++7.1 (qui est GRATUIT), soit tu corriges les bugs de ta STL qui sont connus depuis la nuit des temps.
http://www.dinkumware.com/vc_fixes.html
(rubrique istream).
Marsh Posté le 27-12-2004 à 13:00:10
Bonjour à tous
je sèche..
j'aimerais savoir comment accepter "Jean" "Van Den Bigelaar" dans une variable string.
en faisant
cout << " entrez votre nom " << endl;
cin >> nomClient;
cout << " entrez votre prenom"<<endl;
cin >> PrenomClient;
ca ne marche pas correctement.
il encode je ne sais quoi dans le nom et puis il ne me demande meme pas le prénom avec le cin.
il doit y avoir une desynchronisation du flux !
comment faire pour régler ce prob des espaces a l'encodage svp ??
Message édité par fullnight le 28-12-2004 à 01:46:45