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

时间:2015-10-18 08:47:59

标签: c delimiter scanf

我是与c合作的全新人选。我有一个文件格式如下:

number:number,number,number

无论如何,我可以使用fscanf从文件中获取数字吗?

我的代码无效:

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

1 个答案:

答案 0 :(得分:4)

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

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.