70,037
社区成员
发帖
与我相关
我的任务
分享if (3==fscanf(f,"f(%39[^,],%39[^)])=%39[^\n]",s1,s2,s3)) {
应为
if (3==sscanf(ln,"f(%39[^,],%39[^)])=%39[^\n]",s1,s2,s3)) {//in.txt:
//f(abc,甲)=丙
//f(a,乙)=戊
//f(48,丙)=戊
//f(阿3,丁)=乙
//
//这是有规律的,框架就是:
//f (*,*)=*
#include <stdio.h>
FILE *f;
char ln[80];
char s1[40];
char s2[40];
char s3[40];
int i;
int main() {
f=fopen("in.txt","r");
if (NULL==f) {
printf("Can not open file in.txt!\n");
return 1;
}
i=0;
while (1) {
if (NULL==fgets(ln,80,f)) break;
if (3==fscanf(f,"f(%39[^,],%39[^)])=%39[^\n]",s1,s2,s3)) {
printf("[%s],[%s],[%s]\n",s1,s2,s3);
} else {
printf("in.txt line %d format error:%s",i+1,ln);
}
i++;
}
fclose(f);
return 0;
}
//[abc],[甲],[丙]
//[a],[乙],[戊]
//[48],[丙],[戊]
//[阿3],[丁],[乙]
//