64,649
社区成员
发帖
与我相关
我的任务
分享
//xxx.xml
//<MOCID = 512,MOCTYPE = 1,MOCNAME = "POWER">
//<MOCID = 256,MOCTYPE = 3,MOCNAME = "EMGRY">
#include <stdio.h>
#include <string.h>
FILE *f;
char ln[256];
char fn[256];
unsigned long mocid;
char s[33];
void getMocName(unsigned long MocId,char *MocName) {
unsigned long MOCID;
char MOCNAME[33];
rewind(f);
MocName[0]=0;;
while (1) {
if (NULL==fgets(ln,256,f)) break;
if (2==sscanf(ln,"<MOCID = %lu,MOCTYPE = %*d,MOCNAME = \"%32[^\"]\">",&MOCID,MOCNAME)) {
if (MOCID==MocId) {
strcpy(MocName,MOCNAME);
break;
}
}
}
}
int main() {
strcpy(fn,"xxx.xml");
f=fopen(fn,"r");
if (NULL==f) {
printf("Can not open file %s!\n",fn);
return 1;
}
mocid=512;
getMocName(mocid,s);
printf("%d [%s]\n",mocid,s);
mocid=256;
getMocName(mocid,s);
printf("%d [%s]\n",mocid,s);
mocid=128;
getMocName(mocid,s);
printf("%d [%s]\n",mocid,s);
fclose(f);
return 0;
}
//512 [POWER]
//256 [EMGRY]
//128 []