Chercher un mot dans fichier avec le c++

yassamine02 Messages postés 2 Statut Membre -  
Edwyn Messages postés 105 Statut Membre -
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

  1. yassamine02 Messages postés 2 Statut Membre
     
    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
  2. Edwyn Messages postés 105 Statut Membre 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,
    0