Salut à tous
Je doit lire des données dans un fichier et écrire ce qui est lu dans un autre fichier. A la compilation ça marche nikel mais quand je la nce le programme :
Exception non gérée à 0x00402ee5 dans projet.exe : 0xC0000005:
Violation d'accès lors de la lecture de l'emplacement 0x00000068.
J'ai décomposé tous le programme et je me suis rendu compte que c'est le fgets qui pose probleme, mais je sais pas pourquoi.
voici le programme :
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <conio.h>
void main (void)
{ // déclaration pour la lecture ecriture création des fichier textes
FILE *p_historique; //pour le fichier historique.txt
FILE *p_user; //pour le fichier user.txt
char cHistorique[]="historique.txt";
char cUser[]="user.txt";
int index;
char cDateHeure[19], cNumBadge[16];
errno_t erreur;
char ligne[50];
//------------------------------------------------------------------------------------------------------------------------------
erreur = fopen_s(&p_historique, cHistorique, "w"); /* on ouvre un fichier en write ce qui provoque la création de celui ci */
if(erreur == 0){
fprintf(p_historique, "%s ", cHistorique);
fprintf(p_historique, "%s\n", cHistorique);
fprintf(p_historique, "%s ", cHistorique);
fprintf(p_historique, "%s\n", cHistorique);}
fclose(p_historique);
//------------------------------------------------------------------------------------------------------------------------------
erreur = fopen_s(&p_historique, cHistorique, "r"); // read
if(erreur == 0){
erreur = fopen_s(&p_user, cUser, "w");
if(erreur == 0){
while( fgets(ligne, 255, p_historique) ){ //lire jusqu'au retour ligne
for(index=0;index<=strlen(ligne);index++)
{
fprintf(p_user, "%s\n",ligne[index]);
}
}
}
}
fclose(p_user);
fclose(p_historique);
}
si vous pouvez m'aider......