Je tente de faire un tableau de la structure que je avez appelé StatusItem
, qui ressemble à ceci:En utilisant malloc avec une structure et strcpy
typedef struct
{
char* name;
char* index;
int optional;
} StatusItem;
Aussi, comme je veux ce tableau pour être de toute taille J'utilise malloc
. Ainsi, le tableau est défini comme tel:
StatusItem* statusItem = NULL;
(son, puis transmis à la fonction qui récupère toutes les valeurs comme suit.)
statusItem = (StatusItem*)malloc(cJSON_GetArraySize(items));
...
for (i = 0 ; i < cJSON_GetArraySize(items) ; i++)
{
strcpy(statusItem[i].name,name->valuestring);
strcpy(statusItem[i].index,index->valuestring);
if(!parseInt(optional->valuestring, &statusItem[i].optional));
{
goto cleanup;
}
}
Il y a un code venir qui implique la bibliothèque cjson à obtenir les valeurs de chaîne de name
, index
et optional
dans les variables référencées ci-dessus, et ils sont stockés dans le champ valuestring
de ces variables.
J'ai vérifié que tout ce qui concerne la bibliothèque cJSON fonctionne correctement et renvoie les valeurs correctes, mais le programme ne peut pas accéder ou stocker des valeurs dans le tableau statusItems
.
Des idées? Je suis presque certain que cela implique une mauvaise utilisation de malloc
de ma part.
oublié la boucle for dans le code, l'a ajouté maintenant. – Nealon