qq4all. 이 같은 구문 구성 파서를 작성 - 나는 작업이 있습니다구조체에 데이터를 쓸 수 없습니다.
[module]
name = first
imitationType = first
[module]
name = second
imitationType = second
등 내가 꽤 설정 파서 발견 - inih을하지만, 내가 원하는대로 작동하도록 강제 할 수 없다. 그 라인에 대한
Error! Expression for '->' must be 'pointer to struct or union'
: :이 컴파일 할 때
이typedef struct {
const char* name;
const char* imitation_type;
} module_config;
int module_count = 0;
static int handler(void* user, const char* section, const char* name,
const char* value)
{
module_config* pconfig = (module_config*)user;
pconfig = (module_config *) malloc(module_count*sizeof(module_config));
#define MATCH(s, n) strcmp(section, s) == 0 && strcmp(name, n) == 0
if (strcmp(section, "module") == 0) {
if (MATCH("module", "name")) {
pconfig[module_count]->version = strdup(value);
} else if (MATCH("module", "imitationType")) {
pconfig[module_count]->name = strdup(value);
} else {
return 0; /* unknown section/name, error */
}
++module_count;
pconfig = (module_config *) realloc(pconfig, module_count * sizeof(module_config));
}
return 1;
}
는하지만, 나는 다음 오류가 발생합니다 :
pconfig[module_count]->version = strdup(value);
pconfig[module_count]->name = strdup(value);
내가 '여기 내 코드는 inih 예를 통해 writed m 초보자가 프로그래밍에서 이해하지 못하는 이유는 무엇입니까? 제발 도와주세요 :-)