用fscanf()函数怎样将$GS_FKJ[0,2] = 54中[]里的0,2分别取出来

并保存在两个Int型变量里??

求各位大神指点!!!万分感谢!!!!

还是用字符查找来定位,然后取子字符/字符串的方法可靠一些。

读取字符串,然后字符串查找,正则表达式匹配,这几种方法

按行读出字符串,用sscanf处理。
%*[^[]指忽略[之前的字符串。

sscanf("$GS_FKJ[0,2] = 54", "%*[^[][%d,%d", &i, &j);

int main(int argc, char *argv[])
{
int i, j;
FILE *fp = fopen("./in.data", "r");

    if(!fp) {
            printf("can't open file\n");
            return -1;
    }

    while(!feof(fp)) {
            if (fscanf(fp, "%*[^[][%d,%d", &i, &j) > 0)
                    printf("%d, %d\n", i, j);
    }

    fclose(fp);
    return 0;

}

int main(int argc, char *argv[])
{
int i, j;
FILE *fp = fopen("./in.data", "r");

    if(!fp) {
            printf("can't open file\n");
            return -1;
    }

    while(!feof(fp)) {
            if (fscanf(fp, "%*[^[][%d,%d", &i, &j) > 0)
                    printf("%d, %d\n", i, j);
    }

    fclose(fp);
    return 0;

}

fscanf()里的格式化字符串写为”$GS_FKJ[%d,%d]“,或者读入字符串,自己分析。