という構造体の配列を作成しようとしてStatusItem
います。これは次のようになります。
typedef struct
{
char* name;
char* index;
int optional;
} StatusItem;
また、この配列を任意のサイズにしたいので、 を使用してmalloc
います。したがって、配列は次のように定義されます。
StatusItem* statusItem = NULL;
(その後、次のようにすべての値を取得する関数に渡されます。)
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;
}
}
の文字列値を取得しname
、上記の変数に cJSON ライブラリを使用するコードがあり、これらの変数のフィールドに格納されます。index
optional
valuestring
cJSON ライブラリに関連するすべてが正常に動作し、正しい値を返すことを確認しましたが、プログラムはstatusItems
配列に値にアクセスしたり格納したりできません。
何か案は?私は、それがmalloc
私の側での誤用を伴うことをほぼ確信しています。