ファイルからの読み込みを構造体の各配列に格納したいのですが、上手くいきません。
#include <stdio.h>
typedef struct Student{
char number[4];
char name[8];


} Student;
int main(){
char fname[32]; int i=0,j; FILE *fp; Student sdt[8];
printf("filename:"); scanf("%s",fname); scanf("%*c");
fp=fopen(fname,"r");
if(fp==NULL){
printf("error\n"); break;
}
while(){
fgets(sdt[i].number,3,fp); for(j=0;sdt[j].number!='\n';j++); sdt.number[j]='\0';
fgets(sdt[i].name,7,fp); for(j=0;sdt[j].name!='\n';j++); sdt.name[j]='\0';
i++;
}
return 0;
}
ファイルには、構造体の配列に対応するデータが1行ずつ書き込まれています。
例:(「」の内)
「101
太郎
102
次郎 …
」
ファイルの最後は改行され、最終行は何も無い状態です。
とりあえず1行ずつ読み込めばいいのかと思い作ってみましたが、ループ部の条件で躓きました。
どなたかご教示お願いします。