En essayant de copier un fichier mal dans un fichier texte. Donc, fondamentalement, je veux que le contenu du fichier mal à copier dans le fichier texte. le fichier mal est nommé test1.mal et le fichier txt est le nom output.txt. C'est ce que j'ai mais ça continue d'imprimer erreur en lisant le fichier.copier des fichiers dans le programme C?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char content[255];
char newcontent[255];
FILE *fp1, *fp2;
fp1 = fopen("test1.mal", "r");
fp2 = fopen("output.txt", "w");
if(fp1 == NULL || fp2 == NULL)
{
printf("error reading file\n");
exit(0);
}
printf("files open correct\n");
while(fgets(content, sizeof (content), fp1) !=NULL)
{
fputs(content, stdout);
strcpy (content, newcontent);
}
printf("%s", newcontent);
printf("text received\n");
while(fgets(content, sizeof(content), fp1) !=NULL)
{
fprintf(fp2, newcontent);
}
printf("file created and text copied");
fclose(fp1);
fclose(fp2);
return 0;
}
qui est parce que le fichier n'existe pas dans le répertoire courant (que vous devriez essayer d'imprimer en utilisant 'getcwd()') –
'if (FP1 == NULL || FP2 == NULL)' êtes-vous sûr ? – Michi
Utilisez 'perror' au lieu de' printf' pour imprimer le message d'erreur. Cela vous indiquera ** pourquoi ** l'appel de la fonction précédente a échoué. En outre, vérifiez l'erreur séparément pour chaque appel 'fopen' afin de savoir lequel a échoué. – dbush