EOFの使い方
EOF(End Of Fileらしいです)はマクロらしい。-1を返すことは知ってたが、それはfscanf関数の終わりに対して-1を返すってことなんだな。なので、例えば文字列hogeという名前のファイルがあったとして、それをひたすら読み込みつづけて、ファイルの最後で読み込みをうまく終わらせるには、
#include<stdio.h> int main(){ int i, j, k; FILE *fp_in; fp_in=fopen("hoge","r"); do{ fscanf(fp_in, "%d\t%d\t%d\n", i, j, k); } while (fscanf(fp_in, "%d\t%d\t%d\n", i, j, k)!=EOF); return 0;
と書けばよいらしい。