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
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 struct HWMCA_DATATYPE_S { UCHAR ucType; ULONG ulLength; PVOID pData; struct HWMCA_DATATYPE_S *pNext; }; typedef struct HWMCA_DATATYPE_S HWMCA_DATATYPE_T;
argv[i+1] étant "1"
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); }
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
sans plus de succès......
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 printf("aHwmcaDataType[%d].pData :%ld",j,aHwmcaDataType[j].pData);
Qu'est ce que j'ai loupé ?
Partager