入力方法を標準入力かファイル入力かif文で分けて
ファイル入力の場合は入力ファイルをオープンするわけです。
そのあと検索ファイルを開いて文字列を検索し
その結果を出力ファイルを開いてファイルに出力。
で、その後最後にfclose()を行うわけだが
ここで一気に入力、検索、出力のファイルをクローズしてしまっていた為
標準入力の場合はオープンしてないファイルをクローズする命令になっていた。
実行結果としては
ファイル入力→出力…○
標準入力  →出力…×
となっていた。
その構造に気づかずに、標準入力とファイル出力は相性が悪いのかなぁ…
と勝手に思っていたDQNでした。