Remplacement mot dans un fichier

Signaler
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005
-
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005
-
voila je me casse la tete pour creer un prog qui me permet
de changer un mot qui se trouve dans un fichier par un autre.
Evidement qui me change tout les mots rechercher par l'autre mot.
Je ne vois pas comment y arriver.
Ou peut etre trouve une source qui me montre comment faire.
J'aimerais un peux d'aide merci.

7 réponses

Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
en fait tu veux que le programme remplace tout les mots X par un mot Y?
ou tu veux seulement remplacer un mot X précis par un mot Y ?
si c'est bien ca je veux bien essayer de t'aider et te faire une source.
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

merci, en fait je veux que y remplcace tout les x dans fichier.
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

Un exemple est plus parlant : je rentre "chaine" mot a remplace
par "&&&&", tout les mots chaine seront remplace par &&&&
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
bah sinon tu peux essayer de faire le programme toi meme...
regarde une astuce, tu lis ton fichier mot par mot, a chaque mot lu tu le recopie dans un fichier de "sortie" si il est différent du mot X, sinon, bah tu recopie le mot Y...
essai de le faire tout seul, ca utilise des fonctions de bases du C, et ne devrait pas être si compliqué que cela a faire.
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

En fait j'utilise une fonction qui me cherche la position du mot.
Une fois repere il me la renvoie, je lis avec fread jusqu'a la position et je recopie avec fwrite, ainsi de suite .Mais ca ne fonctionne pas.
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
montre nous ton code si tu veux que l'on puisse t'aider !
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
34
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
18 mai 2005

le voila, je previens je ne comprend pas tout les subtilitées de fread et fwrite.
Si tu peux m'aider ca serais vraiment genial.
Merci de regarde.

long PremCarPos (char *ch, FILE *f,long Depart)
{
char c,nvLigne [TAILLE];
int i=0,t,n;
char *l;
t=strlen(ch);
fseek(f,Depart,SEEK_SET);

while(! feof(f))
{
c=fgetc(f);
nvLigne[i]=c;
i++;
l=strstr(nvLigne,ch);
n=strlen(nvLigne);
Depart=n-t-1;
if (l != NULL)
{
VideChaine(nvLigne);
return (Depart);
}

}

return 0;
}
void ModificationFichier (char *ch1,char *ch2,FILE *fd,FILE *ftmp)
{
int Lch2;
long Depart=0,length;
char *memoir;
memoir=(char*)malloc(TAILLE);
Depart=0;
Lch2=strlen(ch2);
Depart=PremCarPos(ch1,fd,Depart);

while(!feof(fd));
{
length=fread(memoir,1,Depart,fd);
fwrite(memoir,1,length,ftmp);
fwrite(ch2,1,Lch2,ftmp);
Depart=Depart+Lch2;
Depart=PremCarPos(ch1,fd,Depart);
fseek(fs,Depart,SEEK_SET);
}

free(memoir);
return ;
}