如何修复用C中的这些数据填充结构

时间:2019-01-28 08:22:04

标签: c

我有结构输入参数及其名为productId | sortKey | GSI1 | 1234232 | event#123232323 | | price1 | orders1 | rating1 | rating_count1 | created_at1 1234232 | event#123232327 | | price2 | orders2 | rating2 | rating_count2 | created_at2 1234232 | category#father | Father | <other properties of category> 1234232 | category#kitchen| kitchen | <other properties of category?> 的数组。我想用文本填充数组,因为它为id提供了错误的值,并且可以正确使用名称,并且在input_arr中什么也没有出现。

visible

用文本填充#include <stdio.h> #include <stdlib.h> #include <string.h> struct input_parameter { int id; char name[30]; int position; char visible[5]; char required[5]; char parameter_type; char client_id[5]; int min_length; int max_length; char confirm_required[5]; }; struct input_parameter input_arr[10]; char text[2*1024]="{\"success\": true,\"language\": \"en\",\"action\": \"GetServiceInputParameterList\",\"version\": 1,\"data\": { \"input_parameter_list\": [{\"id\": 1489,\"service_id\": 12102,\"name\": \"Customer Number\",\"position\": 1,\"visible\": true,\"required\": true,\"parameter_type\": \"N\",\"client_id\": true,\"min_length\": 11, \"max_length\": 11,\"confirm_required\": false } ] }}"; 的数组:

struct

1 个答案:

答案 0 :(得分:1)

好吧,您正在打印id的地址,而不是使用%d格式说明符的值。

printf("id:%d\nname: %s\n visible: %d\n",&input_arr[0].id,&input_arr[0].name,&input_arr[0].visible);

应该是

printf("id:%d \n name: %s \n visible: %d\n",input_arr[0].id,input_arr[0].name,input_arr[0].visible);