如何使用fscanf获取多于一个分隔符的数字?

How to use fscanf to obtain numbers with more than one delimiter?

我是 c 的新手。我有一个具有以下格式样式的文件:

number:number,number,number

我是否可以使用 fscanf 从文件中获取数字?

我的以下代码不起作用:

fscanf(file,"%d%[^:]:%d%[^,],%d%[^,],%d",&one,something,&two,something3,&three,something4,&four); 

那里不需要 %[^:] 部分,可以直接将分隔符放入格式字符串中:

int a, b, c, d;
while (scanf("%d:%d,%d,%d",&a,&b,&c,&d) == 4) {
    printf("%d %d %d %d\n", a, b, c, d);
}

Demo.