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

cs_goldray 34 Messages postés samedi 3 avril 2010Date d'inscription 29 décembre 2012 Dernière intervention - 25 mars 2012 à 01:46 - Dernière réponse : cs_goldray 34 Messages postés samedi 3 avril 2010Date d'inscription 29 décembre 2012 Dernière intervention
- 25 mars 2012 à 14:28
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 :)
Afficher la suite 

3 réponses

Répondre au sujet
cs_Lucky92 180 Messages postés mercredi 22 décembre 2004Date d'inscription 16 août 2012 Dernière intervention - 25 mars 2012 à 10:38
+3
Utile
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 '/'.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Lucky92
cs_goldray 34 Messages postés samedi 3 avril 2010Date d'inscription 29 décembre 2012 Dernière intervention - 25 mars 2012 à 13:57
0
Utile
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"
Commenter la réponse de cs_goldray
cs_goldray 34 Messages postés samedi 3 avril 2010Date d'inscription 29 décembre 2012 Dernière intervention - 25 mars 2012 à 14:28
0
Utile
merci b1 té propositions marchent b1
Commenter la réponse de cs_goldray

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.