Salut !!

je dois ecrire un programme en c pour le boulot, et je me heurte au probleme suivants:

j'ai une structure que voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
typedef struct {
  char *pszWorkDir;
  char *pszTempDir;
  char *pszEntreeDir;
  char *pszSortieDir;
  char *pszArchiveDir;
  char *pszRejetDir;
  char *pszErreurDir;
  char *pszAnomalieDir;
  char *pszSeparateur;
} ParametresILAB;

une fonction dont voici la signature:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
short lireMotCle(char *pszFichierIni, char *pszSection, char *pszMotCle, char *pszResult);
dans mon code, j'appelle la fonction suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
.
..
...
ParametresILAB pstParametres;
sRetour = initialiserParametres(pszNomFichier, &pstParametres);
printf("%s\r\n", pstParametres.pszTempDir);
.
..
...
avec:
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
short initialiserParametres (char *pszFileIni, ParametresILAB *pstParametres){
 
  short sRetour = CR_OK;
  memset ((void *)pstParametres, (int) NULL, sizeof (ParametresILAB));
 
  pstParametre->pszWorkDir = (char *) getenv("OCTALE_WORK");
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_TMP", (char *)&pstParametre->pszTempDir);
  printf("%s\r\n", &pstParametre->pszTempDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_ENTRE", (char *)&pstParametre->pszEntreeDir);    
  printf("%s\r\n", &pstParametre->pszEntreeDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_SORTIE", (char *)&pstParametre->pszSortieDir);
  printf("%s\r\n", &pstParametre->pszSortieDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_ARCHIVE", (char *)&pstParametre->pszArchiveDir);
  printf("%s\r\n", &pstParametre->pszArchiveDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_REJET", (char *)&pstParametre->pszRejetDir);
  printf("%s\r\n", &pstParametre->pszrejetDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_ERREUR", (char *)&pstParametre->pszErreurDir);
  printf("%s\r\n", &pstParametre->pszErreurDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "REP_ANOMALIE", (char *)&pstParametre->pszAnomalieDir);
  printf("%s\r\n", &pstParametre->pszAnomalieDir);
  sRetour = lireMotCle(pszFileIni, SECTION, "SEPARATEUR", (char *)&pstParametre->pszSeparateur);
  printf("%s\r\n", &pstParametre->pszSeparateur);
 
  return (sRetour);
}

Voici le resultat afficher:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
TMP
ENTREE
SORTIE
ARCHIVE
REJET
ERREUR
ANOMALIE
;
Memory fault

pourquoi !!???

merci pour votre aide !!

@+
Nico