begin process at 2013 05 20 10:20:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

éliminer les mots vides d'un fichier texte


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

éliminer les mots vides d'un fichier texte

lundi 27 septembre 2010 à 17:24:21 | éliminer les mots vides d'un fichier texte

mervat

bonjour,
j'ai un petit truc qui me bloque,
je veux éliminer du fichier texte in les mots qui existent dans le fichier texte motvide et mettre le résultat dans le fichier texte out.
ce code me permet de le faire sauf pour le premier mot du texte in qui n'ai pas traité (c'est à dire si c'est un mot vide il n'est pas supprimé)
j'espère que quelqu'un peut m'aider à trouver la cause.

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


void compare()
{
  int i = 0, num_ligne = 0;
  ifstream ifs("in.txt") ;
  ofstream ofs("out.txt");
  std::string s;
  std::list<std::string> ma_liste;

  ifstream entree ("motvide.txt");
  std::string mot;
  while (entree >> mot)
	ma_liste.push_back(mot);


  while (ifs >> s)
  {std::list<std::string>::const_iterator
	lit (ma_liste.begin()),
	lend(ma_liste.end());
	  for(;lit!=lend;++lit)
		 {
		   if ( s == *lit)
			 {
			   i = 1;
			   break;
			 }
		 }
	if (i!=1)

	   ofs << s << " ";
	i=0;

  }

}


int main()
{
  compare();
  return 0;
}
lundi 27 septembre 2010 à 18:26:54 | Re : éliminer les mots vides d'un fichier texte

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Tu as du te mélanger les pinceaux avec la gestion du "i". J'ai pas vraiment regardé.
J'ai juste découpé ton code en petite fonction, et l'erreur c'est corrigé d'elle même, c'est magique :)

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

bool isInList(const std::string& word, const std::list<std::string>& list)
{
  typedef std::list<std::string>::const_iterator iter;
  for (iter it = list.begin(); it != list.end(); ++it)
    if (word == *it)
      return true;

  return false;
}

void loadEpmptyWordList(const std::string& filename, std::list<std::string>& list)
{
  std::ifstream file(filename.c_str());
  if (!file)
  {
    std::cerr << "Unable to open the file: " << filename << std::endl;
    return;
  }
  std::string word;
  while (file >> word)
    list.push_back(word);
}

void compare()
{
  std::list<std::string> ma_liste;
  loadEpmptyWordList("motvide.txt", ma_liste);

  // TODO: Tester la réussite de l'ouverture de fichier pour in.txt !
  std::ifstream ifs("in.txt");
  std::ofstream ofs("out.txt");
  std::string s;
  while (ifs >> s)
    if (!isInList(s, ma_liste))
	ofs << s << " ";
}

int main()
{
  compare();
  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
lundi 27 septembre 2010 à 19:24:53 | Re : éliminer les mots vides d'un fichier texte

mervat

merci pour l'aide, mais l'erreur existe encore pour le premier mot, c'est à dire si le premier mot de in est un mot vide il n'est pas supprimé alors qu'il doit être supprimé
lundi 27 septembre 2010 à 19:48:20 | Re : éliminer les mots vides d'un fichier texte

CptPingu

Administrateur CodeS-SourceS
Tu es sur ? As-tu un exemple ?

J'ai lancé mon programme comme suit:
motsvides.txt

toto titi tutu tata


in.txt

toto hey titi ca va tutu ?


et j'obtiens
out.txt

hey ca va ?



________________________________________________________________________
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
lundi 27 septembre 2010 à 20:04:15 | Re : éliminer les mots vides d'un fichier texte

mervat

c'est vraiment bizarre

voila mon exemple:

motsvides.txt
Code :
c'est a le



in.txt
Code :
a vendredi le 2 a juillet



et j'obtiens
out.txt
Code :
a vendredi 2 juillet

lundi 27 septembre 2010 à 20:14:13 | Re : éliminer les mots vides d'un fichier texte

mervat

et j'ai d'ailleurs essayé plusieurs exemples et toujours le premier mot n'est pas supprimé
mardi 28 septembre 2010 à 10:13:58 | Re : éliminer les mots vides d'un fichier texte

mervat

bonjour, enfin j'ai trouvé la faute,
le code est tout a fait juste, le problème était dans mes fichiers d'entrée,
lorsque j'ai changé le nom de ces fichiers j'ai obtenu de bons résultats.
merci encore Mr cptPingu car c'est grâce à vous que j'ai connu l'origine de ma faute.


Cette discussion est classée dans : fichier, texte, mot, include, std


Répondre à ce message

Sujets en rapport avec ce message

Lecture d'un fichier texte en C [ par toto000 ] Bonjour, j'ai un fichier texte avec un mot par ligne et je voudrai mettre ces mots dans un tableau de telle sorte que le premier mot soit dans la prem probleme avec le fgetc..... [ par raziel62 ] salut,j'ai un prob en C avec la fonction fgetc. Je voudrai mettre dans une variable le contenu d'un fichier .txt puis l'afficherj'ai fait ce code mais Lire un fichier texte ligne par ligne et copier les éléments dans une combo!!! [ par freepouy18 ] Salut à tous, j'ai un problème avec la copie de données provenant d'un fichier texte dans une combo. Voila mon code : std::ifstream fichier( "monfichi comment distinguer entre fichier et repértoire! [ par almousafer ] salut tlm Je viens d'ecrire une fonction qui parcours le répertoire passé en argument et liste son contenu (merci à Fred), mais il reste encore un pb, Fichier texte [ par spike666 ] Etant tres nul... et ne preférant pas chercher 3h des morceaux de codes pour finir sur un truc ki marchera pas je vais demander directement ce que je afficher les mots d'un fichier texte [ par cyrina84 ] Bonjours à tous les developpeurs icic présent, J'ai un probleme que je souffre depuis 3jours et j'espere que vous m'aidiez. Donc voila J'ai fichier te position d'une chaine de caractére dans un fichier ecriture et lecture [ par yanlou ] salut, bon voila je veux mettre les chaine de caractére d'un fichier dans un autre fichier, j'utilise le code suivant :#include #include #include # à aide svp [ par yanlou ] j'ai un fichier txt ou ya des informations que je veux metre dans un autre fichier mais pas toute, donc je veux choisir les chaine de caractére que je problème fichier texte (ofstream) taille ? [ par baby3378 ] Bonjour à tous, voila, j'ai repri il y a quelque temps la base d'une source qui listait tous les fichiers d'un repertoire. Jusque là aucun souci. Cep comparer les mots d'un fichier texte aux éléments d'une liste chaînée (c++) [ par mervat ] [^^happy10] ce programme permet de créer une liste de mots à partir d'un fichier texte"in1" et puis éliminer les mots qui existent dans la liste du fi


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

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 : 1,903 sec (3)

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