我有一种复杂的文件格式:
main(){
FILE* in=fopen("fr.N.bien2","r");
int maxwords=100;
int maxstringlen=100;
char* nodes=malloc(sizeof(char)*maxstringlen*maxwords);
if(!nodes){printf("Nodes couldn't be allocated!\n");}
int i=0;
int* IDs=malloc(sizeof(int)*3*maxwords);
int docnum,nei,rank;
float score;
char* pzero;
while(fscanf(in," { \"color\": [ 45, 200, 34 ], \"docnum\": %i, \"form\": %s \"graph\": \"jdm.N.flat\", \"id\": %i , \"lang\": \"fr\", \"neighbors\": %i , \"pos\": \"N\", \"pzero\": false, \"rank\": %i , \"score\": %f , \"type\" :1 },",&docnum,&nodes[i],&IDs[i],&nei,pzero,&rank,&score))
{
printf("node:%s,ID=%i\n",&nodes[i],IDs[i]);
i++;
}
}
此类列表继续进行,数百个条目。我想读变量数字和字符串(docnum,form,id,neighbors,rank,score),所以我为这种输入创建了一个格式字符串:
>>node:"avoir",,ID=0
它看起来很复杂,但似乎工作正常,因为我得到了第一个实例。输出是:
document.getElementById("radio").innerHTML = "Change text to this";
但是,输出会停止,即使格式在文件中正好重复(如示例中所示)。 我错过了一些重要的东西吗? 是否有更简单的方法从这样的文件中读取此类数据?