看了帖子《如何读取一个文件把文件每行内容赋值给一个结构数组元素》,试验中发现一些问题,请教一下
#include<stdio.h>//#include<unistd.h>
struct emp{
char name[20];
long age;
char phone[12];
};
int main(){
int i;
char str[50];
FILE * fp = fopen("emp.txt", "r");
struct emp a[3];
i=0;
while(fgets(str,50,fp)!=NULL){
//for(i=0;i<3;i++){
sscanf(str, "%[^|]|%ld|%s", a[i].name, &a[i].age, a[i].phone);
//}
i++;
}
return 0;
}
如果文件中的数据形式为 fred|30|18677442345|990|009
那么sscanf(str, "%[^|]|%ld|%s", a[i].name, &a[i].age, a[i].phone);这个语句里的 "%[^|]|%ld|%s" 该如何改写呢?