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;

と書けばよいらしい。