begin process at 2012 05 30 02:12:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

problème avec getline


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

problème avec getline

jeudi 30 septembre 2010 à 18:36:09 | problème avec getline

mervat

bonjour,
j'ai un petit problème avec getline:

j'ai en entrée 2 textes : text comporte 3 lignes et text1 comporte 2 lignes, je veux avoir en résultat:
Code :
test
test
test
test
test
test

j'ai écrit ce code:

Code C/C++ :
 #include <string>
#include <fstream>
#include <iostream>
#include <stdlib>

int main()
{ std::string ligne;
  std::string ligne1;
  std::ifstream in ("text.txt");
  std::ifstream in1 ("text1.txt");
  while (std::getline (in , ligne)
      while (std::getline (in1, ligne1)
           std::cout << "test" << std::endl;
  system("pause");
  return 0;
 }

normalement j'aurai le mot test 6 fois (nombre de ligne de text * nombre de ligne de text1)
alors que le code ci-dessus me donne seulement 2 fois (le nombre de lignes de text1)

est ce que c'est normal ce que j'ai eu comme résultat, et pourrais-je faire autrement pour avoir le résultat voulu.
j'espère bien avoir votre aide.
jeudi 30 septembre 2010 à 19:37:00 | Re : problème avec getline

CptPingu

Administrateur CodeS-SourceS
Tu ne l'affiche pas, tout simplement !

J'ai juste ajouté un std::cout :)

Code C/C++ :
#include <fstream>
#include <iostream>

int main()
{
  std::string ligne;
  std::string ligne1;
  std::ifstream in("text.txt");
  std::ifstream in1("text1.txt");
  while (std::getline (in , ligne))
  {
    std::cout << ligne << std::endl;
    while (std::getline (in1, ligne1))
      std::cout << ligne1 << std::endl;
  }

  return 0;
}


________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
jeudi 30 septembre 2010 à 20:34:14 | Re : problème avec getline

shorzy

Réponse acceptée !

Salut les Garcs

Code C/C++ :
  while (std::getline (in , ligne))
  {
    std::cout << ligne << std::endl;
    while (std::getline (in1, ligne1))
      std::cout << ligne1 << std::endl;
  }

Je ne Pense pas que mervat veux faire cela !!!




Code C/C++ :
  while (std::getline (in , ligne)
      while (std::getline (in1, ligne1)
           std::cout << "test" << std::endl;



Tu veux afficher :
cout << "test"
c'est bien ca ?


Il me semble, lorsque ta deuxieme ligne
while (std::getline (in1, ligne1)
fini sa boucle.
Le programme s'arrête, et ce pour une raison simple.
Le flux est terminer !!!!
Lorsque la 1er boucle repart à la charge, la deuxieme boucle sort tout de suite


Essaye donc :

Code C/C++ :
  while (std::getline (in , ligne)
  {
      while (std::getline (in1, ligne1)
           std::cout << "test" << std::endl;
      in1.clear();
   }




clear();
à pour but, de réinitialiser les Flags d'erreur du flux:
Ainsi en attaquant une deuxième, puis une troisième fois ton flux, il ne sera plus considérer comme EOF.
Et ton flux sear relut.



PS:
Il faut certainement également faire un in1.seek(0)

@++
vendredi 1 octobre 2010 à 09:59:29 | Re : problème avec getline

mervat


bonjour,
merci bien pour votre aide et vos réponses rapides,
ce que j'ai voulu exactement c'est d'afficher le mot "test" n fois (n étant le nombre de lignes de text * le nombre de lignes de text1) et pas le contenu des lignes,

j'ai essayé alors ce que shorzy m'a proposé et ca m'a donné le résultat voulu: (sauf que au lieu de seek c'est seekg)
Code C/C++ :
#include <string>
#include <fstream>
#include <iostream>
#include <stdlib>

int main()
{ std::string ligne;
  std::string ligne1;
  std::ifstream in ("text.txt");
  std::ifstream in1 ("text1.txt");
  while (std::getline (in , ligne))
      { in1.seekg(0);
        while (std::getline (in1, ligne1))
            std::cout << "test" << std::endl;
        in1.clear;
      }
  system("pause");
  return 0;
 }


Cette discussion est classée dans : code, test, text1, std, getline


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec le "linker" [ par Darkneon ] Salut,J'ai 3 fichiers comme ceciTest.cpp#include "test.h"#include void PrintA(int num){ for(int i=0; i<num; i++ Construction du TTreeNodes d'un TreeView [ par KaiO ] Voilà mon problème:J'ai créer un TreeView vide dans une forme et j'y insère la racine comme suit TTreeNode *test; TV->Items->Cle Fuite memoire + Debug [ par Manson ] Bonjour a tous.Voila j'ai un gros probleme, voila un bout de code qui me met la tete a l'envers, et j'aimerai que l'on m'explique ce qui se passe :#pr Pb test ! help !!!! [ par ast ] Bonsoir a tous !Je souhaiterais réaliser un code qui me demande un mot de passe et qui me rende la main lorsque le bon mot de passe est entre, mais pr Evenements clavier en local... [ par bdkiller ] Bonjour tout le monde!Je m'excuse, car il y a pas mal de messages et sources à ce sujet, mais j'ai quand meme un probleme urgent a resoudre...Je suis fstream [ par Mcjo ] Bonjour, me rémettant depuis peu au c++ j'ai testé un code de lecture dans un fichier mais la fonction bad() ne semble pas fonctionnée correctement. class std:: [ par imanedaoudi ] Bonjour tous,je veux affecter le tableau inter à une autre zone mémoire? pourquoi l'affectation ci dessus est fausse#includestd::vectorinter((*nbre)); Comment récupérer la bonne chaine de caractère ?? [ par guilt92 ] Bonjour, j'essaye actuellement de créer une liste de lecture où je pourrais mettre des items de différentes couleurs. Avec le code suivant lorsque je pb avec les string !!! [ par ElectricalMan ] slt,j'ai qqs "erreurs" à la compilation ! c à s'arracher les cheveux, pouvez vous m'aider svp : #include  #include #include using namespace std;< code en c++ [ par Sgh_Khaoula ] Svp est ce que quelqun'un peut m'aider à coprendre la ligne "Triangles = new std::vector[ Depth ];"MultiMesh::MultiMesh( int depth ) { Depth = depth; 


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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,858 sec (4)

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