Chercher un mot dans fichier avec le c++

Fermé
yassamine02 Messages postés 2 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 31 mars 2011 - 29 mars 2011 à 22:43
Edwyn Messages postés 105 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 31 mars 2011 - 31 mars 2011 à 09:33
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

Edwyn Messages postés 105 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 31 mars 2011 14
30 mars 2011 à 09:13
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,
0
yassamine02 Messages postés 2 Date d'inscription mardi 29 mars 2011 Statut Membre Dernière intervention 31 mars 2011
31 mars 2011 à 00:01
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++
0
Edwyn Messages postés 105 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 31 mars 2011 14
31 mars 2011 à 09:33
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,
0