後ろ向きにファイルを検索したいんです。
というのは、まず
---
int result = 0;
while((c = fgetc(fp)) != EOF) {
 if (c == 'h') {
  result = 1;
  break;
}
return result;
---
とすると、ファイルに'h'が含まれるかどうか前向きに1文字づつ判定していけます。しかしここで、
'h'が見付かったあと、逆の方向へ後向きに1文字づつ、別の文字'H'が含まれるかも判定したいのです。
---
int result2 = 0;
fseek(fp, -1, SEEK_CUR);  //nakusitai
if (result) {
 for (i=0; i<100; i++) {  //'h'の前100文字に限り後向きに検索
  fseek(fp, -1, SEEK_CUR);   //nakusitai
  c = fgetc(fp);  //1文字分進んでしまう
  if (c == 'H') {
   result2 = 1;
   break;
  }
  fseek(fp, -1, SEEK_CUR);  //nakusitai
 }
}
---
単純にファイルに'H'が含まれてるだけでなく、'h'の何文字の前に'H'が含まれているかを判定しようとしています。
とここまで書いてなんですが、
>あらかじめファイルの中身をメモリに置いておけば、いくらでも読み直せる
ですよね。大きめの配列容易して、まずファイル内容読み込んで、処理すれば解決しそう。ありがとう