Bonjour ...

Je voulais stocker dans un fichier une structure de type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
typedef struct{
	SActivite *Scientifique;
	CActivite *Culturelle;
}Activite;
Et voilà les structures de ses deux champs :

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
 
 
typedef struct CA{
	int code;
	char nom[20];
	char libelle[150];
	Duree *duree;
	int Nb_Max;
	struct CA *Suivant;
}CActivite;
 
 
typedef struct SA{
	int code;
	char nom[20];
	char libelle[150];
	Duree *duree;
	struct SA *Suivant;
}SActivite;
Et chacune de ses deux dernières structures, elles ont un champs de type pointeur vers Duree, et voilà sa structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
typedef struct{
	int jour;
	int mois;
	int annee;
}Date;
 
typedef struct{
	Date *debut;
	Date *fin;
}Duree;

Le problème :

quand je sauvgarde la structure globale "Activite" dans un fichier, ça marche.
quand je veux alimenter une liste de type "Activite" (on la note A1) depuis ce fichier,ça marche partiellement. Je m'explique :
quand je veux afficher n'importe quelle champs qui est déclaré comme étant static : par exemple je fais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5

A1->Culturelle->nom  (ça marche)
A1->Culturelle->code (ça marche)
....
Mais dès que je fasse :
A1->Culturelle->duree (le programme se bolque)

Donc ce que j'ai constaté qu'on doit déclarer les champs de nos structures comme étant des statique (y a pas pointeur) pour qu'on puisse les stocker et les réccupere.

Mais moi j'ai besoin vraiment de ce passage par pointeur.


Pourriez vous m'aider ?


Merciii

Sisiniya