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

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

Votre réponse

3 réponses

Meilleure réponse
Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Dernière intervention
16 août 2012
- 25 mars 2012 à 10:38
3
Merci
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 '/'.

Merci cs_Lucky92 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_Lucky92
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Dernière intervention
29 décembre 2012
- 25 mars 2012 à 13:57
0
Merci
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
Messages postés
34
Date d'inscription
samedi 3 avril 2010
Dernière intervention
29 décembre 2012
- 25 mars 2012 à 14:28
0
Merci
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.