Chercher un mot dans fichier avec le c++ [Fermé]

Signaler
Messages postés
2
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
31 mars 2011
-
Edwyn
Messages postés
105
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
31 mars 2011
-
salut,svp je voudrai trouver un mot dans un fichier texte avec le langage c++ mais sa marche pas bien merci de me repondre

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
typedef char chaine[100];

int main()

{ int max=10,pos=0,n,l,trouve=0;
char nomcher [10];chaine ligne;
FILE * f ;
f=fopen("pop.txt","rt");
if (!f){printf("erreur le fichier n'existe pas\n");
exit(-1);}
printf (" quel nom recherchez vous : ") ;
gets (nomcher) ;//n=strlen(nomcher);//l=strlen(ligne);
/* printf("dooner la taille max\n");
scanf("%d",&max);ligne=(char*)malloc((max+1)*sizeof(char));
if(!ligne){printf("erreur sur malloc");exit(-1);}else{*/
//fgets(ligne,max,f);

while ((!feof(f))&&(strcmp (ligne,nomcher)==1)){fgets(ligne,max,f);}

if ( feof(f) ) printf ("-- ce nom ne figure pas dans le fichier --") ;
else { //trouve=1;
printf ("c bon\n");
puts(nomcher);

}
//}
// free(ligne);
fclose (f) ;getch(); return(0);

}

3 réponses

Messages postés
105
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
31 mars 2011
14
Bonjour,

Alors déjà ton programme est pour moi un programme de C...
En C++ le mieux est d'utiliser les flux et pour les fichier les fstream.
Apres tu parcours ton fichier à la recherche de ton mot.

Un bon site pour t'aider:
http://www.cplusplus.com
pour les fstream:
http://www.cplusplus.com/reference/fstream/fstream/

Codialement,
Messages postés
2
Date d'inscription
mardi 29 mars 2011
Statut
Membre
Dernière intervention
31 mars 2011

bsr, merci d avoir pris la peine de me répondre vrai que c est un programme écrit en c je voulais l'écrire ainsi parce que j'ai déjà fait le c dans le passe le problème c que je doit faire mon projet en poo et pour moi le c et le c++ se ressemble le visuel c++ accepte l'écriture en c ,pour la lecture du fichier jai fait une erreur je doit pas lire avec fgets car elle lit un bloc donc elle me compare pas le mot lu et le mot rechercher je croit qu'il faut utiliser fgetc avec une boucle while lire caractère par caractère et vérifier la taille avec strlin il reste a l'écrire
Merci bq pour les cours je ferai + attention à écrire directement en c++
Messages postés
105
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
31 mars 2011
14
Bonjour,

Pas de soucis mais enfait le C++ t'apport des outils très puissant et beaucoup plus simple à utiliser. Et personnellement si je dois corriger un projet qui normalement doit être en POO et que je tombe sur le code que tu as écrit, je pense que la note serait vraiment mauvaise. Ce n'est que mon avis et il n'y a aucune méchanceté dans cela. La POO est une programmation avec des concepts bien à lui, même si le C++ accept les fonctions de la lib C et même sa syntax, ce n'est pas une raison pour en abuser.

Cordialement,