probleme avec des archive en c++
bonjour!
j'ai un probleme mon programme stocke bien le premier fichier avec ce que je lui demande mais des le deuxieme il me dit qu'il existe deja dans stockage.bin, mais il n'y est pas et je vois pas l'erreur pouvait vous m'aider
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
void TEssai::RechercherNom()
{
//creation du fichier de stockage si enexistant
FILE* pfic;
pfic=fopen("stockage.bin","a");
fclose(pfic);
//ouverture de la fonction qui lit les fichier .zip
struct dirent *lecture;
DIR* rep;
rep=opendir("C:/Program Files/EasyPHP1-7/www/test"); //adresse ou se situe les fichier que je veux
char* nom;
int dateF;
int dateeffacement;
int heureeffacer;
char* nomF;
int length1;
struct Essai e; //declaration de ma structure
while(lecture=readdir(rep)) //tant qu'il y a des fichiers
{
bool fichier_trouver=false;
nom=lecture->d_name; //je lit leur nom
//ouverture du fichier de stockage
if(nom[0]!='.') //je regarde si ce n'est pas . ou ..
{
pfic=fopen("stockage.bin","r+");
cout<<"je suis dans le if"<<endl;
while((length1=fread(&e,sizeof(struct Essai),1,pfic))!=0)
{
if((strcmp(nom,e.nom))==0) //si c'est bon je test voir si il existe pas deja dans ma
//base de donnee
{
fichier_trouver=true;
}
}
fclose(pfic);
if(fichier_trouver==false) //si elle existe pas
{
pfic=fopen("stockage.bin","a");
//structure pour avoir les informations de date par rapport a l'ordi
time_t rawtime;
struct tm* timeinfo;
time(&rawtime);
timeinfo=localtime(&rawtime);
//stokage du nom du fichier
e.nom=nom;
//stockage de la date
e.date=(timeinfo->tm_mday);
//stockage de l'heure
e.heure=(timeinfo->tm_hour);
//traitement de la date pour creer la date d'effacement
dateeffacement= (timeinfo->tm_mday);
if((dateeffacement>0)&&(dateeffacement<28))
{
dateeffacement+=1;
e.dateAeffacer=dateeffacement;
fwrite(&e,sizeof(struct Essai),1,pfic);
}
else
{
dateeffacement=1;
e.dateAeffacer=dateeffacement;
fwrite(&e,sizeof(struct Essai),1,pfic);
}
fclose(pfic);
}
}system("PAUSE");
}
closedir(rep);
} |