Bonjour,
j'ai écris un programme en C qui lit un fichier pdf.txt qui contient un livre et devant chaque chapitre du livre il a le caractere '*' ,ce programmme ouvre un nouveau fichier ,recopie le fichier empl1.txt ,recopie un chapitre du livre ensuite recopie le fichier expl2.txt , Donc mettre chaque chapitre dans un fichier
mais lors de la compilation j 'ai l'erreur suivant : invalid argument of unary * (la ligne est soulignée dans ci dessus)
/* Entrées: - fichier expl1 et expl2 qui contiennent la page html
-fichier "pdf.txt" qui contient le livre passé comme entrée à l'application "projet1" et Chaque chapitre est separé par une etoile
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *pf1,*pf2,*pf3;
FILE * pf;
int i=0,j;
char nom[17],mot[17]="livre",c,x,k,l[2];
//printf("donner le nombre de chapitres n ");
//scanf(" %d ",&n);
printf("donner le numero du livre j ");
scanf(" %d ",&j);
//printf("donner le mot clé");
//scanf(" %s ",mot);
strcpy(nom,"livre");
k=dtoa(j);
strcpy(l,k);
strcat(l,"\0");
strcat(nom,l);
strcat(nom,"chap\0");
/*ouvrir le fichier pdf*/
pf1=fopen("pdf.txt","rt");
if (pf1=NULL) return 0;
/*ouvrir le fichier exemple html1*/
pf2=fopen("expl1.txt","rt");
if (pf2=NULL) return 0;
/*ouvrir le fichier exemple html2*/
pf3=fopen("expl2.txt","rt");
if (pf3=NULL) return 0;
pf=fopen(nom,"wt");
while(1)
{ i++;
/*ouvrir le fichier livreJchapI.txt*/
k=dtoa(i);
strcpy(l,k);
strcat(l,"\0");
strcat(nom,l);
strcat(nom,".html\0");
pf=fopen(nom,"wt");
if (pf=NULL) return 0;
/*copier expl1.html dans le fichier*/
c=getc(pf2);
while (c!=EOF)
{
putc(c,pf);
c=getc(pf2);
}
/*copier le chapitre à partir de pdf.txt*/
x=getc(pf1);
while (x!=EOF && x!="*")
{
putc(x,pf);
getc(pf1);
}
/*copier expl1.html dans le fichier*/
c=getc(pf3);
while (c!=EOF)
{
putc(c,pf);
c=getc(pf3);
}
/*PASSER AU CHAPITRE SUIVANT*/
fclose(pf);
/*MAJ de la variable nom*/
strcpy(nom,"\0");
strcpy(nom,"livre");
k=dtoa(j);
strcpy(l,k);
strcat(l,"\0");
strcat(nom,l);
strcat(nom,"chap\0");
if(x==EOF) break;
}
fclose(pf1);
fclose(pf2);
fclose(pf3);
return 0;
}
help please


