初めまして!
c言語でファイルを読み込んで、読み込んだファイルの一行目のみを読みとばして2行目以降をソースコードにある通りの構造体に入れて出力したいです。
試したことは、
while (fgetc(fp) != "/n") ;
で一行目を読み飛ばそうと思ったのですが、無限ループに入ってしまっているようで上手く1行目をスルーできないです。
何かいい方法はないでしょうか?
何卒よろしくお願いします。
c
1typedef struct student{ 2 int code; 3 char name[100]; 4 int math; 5 int eng; 6}Student; 7 8int main(int argc,char *argv[]){ 9 Student fa[20]; 10 FILE *fp; 11 int i = 0,m; 12 char row[20]; 13 14 fp = fopen("test.txtのパス","r"); 15 16 17 while (fgetc(fp) != "/n") ; 18 while (fscanf(fp,"%d%s%d%d",&fa[i].code,fa[i].name,&fa[i].math,&fa[i].eng) != EOF) { 19 20 if (fscanf(fp,"%d%s%d%d",&fa[i].code,fa[i].name,&fa[i].math,&fa[i].eng) == 4) { 21 printf("番号%d番%sの数学は%d点で,英語は%d点.",fa[i].code,fa[i].name,fa[i].math,fa[i].eng); 22 } 23 i ++; 24 } 25 26 fclose(fp); 27 28 29} 30
test.txt
20 001 Alice 58 58 002 Bob 100 54 003 Charlie 60 51 004 Carol 74 54 005 Dave 49 32 006 Eve 54 41 007 Frank 73 64 008 Grace 95 54 009 Heidi 46 41 010 Judy 50 66 011 Mallory 57 45 012 Olivia 67 55 013 Oscar 60 73 014 Peggy 73 57 015 Steve 87 34 016 Ted 64 46 017 Victor 49 51 018 Walter 49 54 019 Wendy 22 69 020 Zoe 41 66 ###補足情報(言語/FW/ツール等のバージョンなど) xcode8.2.1使ってます
回答3件
あなたの回答
tips
プレビュー