J'ai un code dans lequel l'élément de structure pointé par pData doit contenir la valeur (int ou long) 1

la structure (liste chainée) dans un fichier header
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
struct HWMCA_DATATYPE_S {       
   UCHAR                 ucType;
    ULONG                 ulLength;
    PVOID                 pData;   
    struct HWMCA_DATATYPE_S *pNext;
 };     
typedef struct HWMCA_DATATYPE_S HWMCA_DATATYPE_T;
Pour exemple (le code n'est pas complet)
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
 
#include <stdlib.h>  
#include <stdio.h> 
#include <string.h>
#include <memory.h>  
#include "header.h"
int main(int argc, char *argv[], char *envp[]) 
{  
int j,i;
ULONG               aulCmdData[10];                                          
HWMCA_DATATYPE_T    aHwmcaDataType[10];
for (i=5, j=0; (((i+2) <= argc) && (j < 10)); i+=2, j++) {
   memset(&aHwmcaDataType[j],'\0',HWMCA_DATATYPE_SIZE);   
   aHwmcaDataType[j].pNext = &(aHwmcaDataType[j+1]);      
   aHwmcaDataType[j].ucType = (UCHAR)atoi(argv[i]);
   aHwmcaDataType[j].ulLength = sizeof(short int);
   aulCmdData[j] = atol(argv[i+1]);
   aHwmcaDataType[j].pData    = &aulCmdData[j];
   }
return(0);
}
argv[i+1] étant "1"
J'arrive à afficher l'ensemble du contenu des éléments de la structure SAUF pour celui pointé par pData.
J'ai essayé bon nombre de printf() dans tout les sens (même ce qui me semblait incorrecte) mais en résultat j'ai toujours soit rien du tout soit un affichage non conforme)
je ne suis jamais arrivé à avoir : 1
j'ai essayé un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
printf("aHwmcaDataType[%d].pData :%ld",j,aHwmcaDataType[j].pData);
sans plus de succès......
Qu'est ce que j'ai loupé ?