Copier le contenu d'un fichier vers un autre ! [Résolu]

Signaler
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2012
-
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2012
-
Bonsoir,

je veux copier le contenu d'1 fichier dans 1 autre en passant par l'intermédiaire d'une liste chainée ...
mais le soucis que j'ai rencontré est au niveau de l'ouverture du fichier destinateur (ligne 31 du code ) ... mon code m'affiche le message "error" que je l'ai mis pour la vérification
voici le code :
#include <stdlib.h>
#include <stdio.h>
struct data
{
int cle;
int qt;
float prix;
};
typedef struct data DATA;

struct liste
{
DATA d;
struct liste * next;
};
typedef struct liste LISTE;

LISTE* charger_liste();
void insere_tete(LISTE**first,char*s);
void charger_file(LISTE* a,FILE* fp);




/*fonction charger liste */
LISTE* charger_liste()
{
LISTE* first=NULL;
FILE* fp;
char s[100];
if (!(fp=fopen("C:\exp.txt","r") )) /*ici le probléme : ligne 31*/
{
printf("error");
return(NULL);
}
printf("cv");
rewind(fp);
while(fgets(s,100,fp))
insere_tete(&first,s);
fclose(fp);
return(first);
}

void insere_tete(LISTE* *first,char *s)
{
    LISTE* p;
    p=(LISTE*)malloc(sizeof(LISTE));
    sscanf(s,"%2d %3d %f", &(p->d.cle),&(p->d.qt),&(p->d.prix));
    p->next=*first;
    *first=p;
}
void charger_file(LISTE* a,FILE* fp)
{
    for(;a;a=a->next)
    fprintf(fp,"%-2.2 d %-3.3 d %f \n", (a->d.cle),(a->d.qt),(a->d.prix) );
}
int main()
{
    LISTE* first;
    FILE* fp1;
    fp1=fopen("C:\recp.txt","w");
    first=charger_liste();
 charger_file(first,fp1);
 fclose(fp1);
    return(0);
}


j'espère que vous pouvez m'aider et merci d'avance :)
A voir également:

3 réponses

Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
16 août 2012
2
Le problème vient du nom de fichier. Dans une chaîne de caractères, '\' est utilisé pour les métacaractères. Pour les séparateurs de répertoires, il faut que tu utilises soit '\\', soit '/'.
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2012
1
Bonjour,
j'ai essayé les 2propositions :
1-
if (!(fp=fopen("C:\\exp.txt","r") ))

2-
if (!(fp=fopen("C:/exp.txt","r") ))


mais le méme message s'affiche "error"
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Statut
Membre
Dernière intervention
29 décembre 2012
1
merci b1 té propositions marchent b1