Bonjour,
dans le cadre d'une �tude sur la programmation C++ (EDUCATEL), je dois cr�er une application de gestion de base de donn�es pour une pharmacie.
Lors de mon entr�e dans le menu fournisseur je d�sire "r�cup�rer" les donn�es de mon fichier Fournisseurs dans un tableau d'objets fournisseur.
Voici une partie de mon code :
Lorsque je compile mon application, le message d'erreur suivant apparait :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
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 void __fastcall TAdminFournisseurs::FormShow(TObject *Sender) { /* Déclaration des variables locales*/ char* tampon; char temp[100]; char t; unsigned int occ,i;/* Ouverture du fichier en lecture seule */ afFournisseur=fopen("Fournisseurs","r");/* allocation de mémoire pour le tableau d'objets fournisseur */ ListFourn=new fournisseur[1]; NbrFiches=0;/* Début de condition SI(eff_FC_I01) */ if(afFournisseur) {/* Début de boucle FAIRE...TANT QUE (eff_FC_I01_D02)*/ do { AjouteUneFiche(); ListFourn[NbrFiches-1].SaisieFiche(NbrFiches-1); occ=0; do { fscanf(afFournisseur,"%c",t); temp[occ]=t; occ++; } while(t!='\t' && t!='\n'); tampon=new char[++occ]; for(i=0;i<occ-1;i++) tampon[i]=temp[i]; tampon[occ-1]; ListFourn[NbrFiches-1].SaisieNom(tampon); ....}
Puis, le programme reste bloqu� au niveau de la ligne de mon fscanf.Le projet TravRecap.exe a provoqu� une classe d'exception EAccessViolation avec le message 'Violation d'acc�s � l'adresse 32664354 dans le module 'CC3260MT.DLL'. Ecriture de l'adresse 00000000'. Procesus stopp�. Utilisez Pas-�-pas ou Ex�cuter pour continuer.
Je ne vois pas o� j'ai pu blairer puisque j'alloue de l'espace � chaque variable. Peut �tre est-ce dans mon utilisation du fscanf ?
Merci de m'aider un peu.
Partager