void foncmodifres(char* res,char* Fic,int taille,int NumeroFilm)
{
FILE *FichResSource;
FILE *FichResDest;
char *NomFicSource;
//char test[40];
char *NomFicDest;
char *resume;
int temp;
NomFicSource = (char*)malloc((strlen(Fic)+

*sizeof(char));
NomFicDest = (char*)malloc((strlen(Fic)+

*sizeof(char));
strcpy(NomFicSource,Fic);
strcpy(NomFicDest,Fic);
strcat(NomFicSource,"res.txt");
strcat(NomFicDest,"res.tmp");
FichResSource=fopen(NomFicSource,"r+");
FichResDest=fopen(NomFicDest,"w");
while( fscanf(FichResSource,"%d ",&temp)!=EOF)
{
fprintf(FichResDest,"%d ",temp);
if (temp==NumeroFilm)
{
fscanf(FichResSource,"%d ",&temp);
resume = (char*)malloc(sizeof(char)*(temp+1));
fprintf(FichResDest,"%d ",taille);
fread(resume, sizeof(char), (temp+1), FichResSource);
fwrite(res, sizeof(char), (taille), FichResDest);
}
else
{
fscanf(FichResSource,"%d ",&temp);
fprintf(FichResDest,"%d ",temp);
resume = (char*)malloc(sizeof(char)*(temp+1));
fread(resume, sizeof(char), (temp+1), FichResSource);
fwrite(resume, sizeof(char), (temp+1), FichResDest);
}
}
fclose(FichResSource);
remove(NomFicSource);
fclose(FichResDest);
rename(NomFicDest,NomFicSource);
}
Voila le programme alors je vous explique un peu, le but est de recopier dans le fichier destination toutes les informations du fichier source sauf une donnée, le résumé modifier pour cela je le fait grace au numFilm que je recupere avant vu que chaque resume a un numfilm bien distinct.
le programme marche nickel sur linux, de plus le chemin est bon vu que si je fait un remove("text.txt"); et que le fichier text.txt est au meme endroit que le fichier qui a la valeur contenu dans NomFicSource bah le remove se fait bien.
Je me demande aps si c parceque le fichier est utilise et que win ne veux pas me le supprimer et le rename, mais comme je fais bien un fclose avant je ne comprend pas pourquoi ca ne marche pas...
la je desespere un peu....:confused: