while(FILE1が終端まで行ってるか?){
 FILE1から読み込み
 while(FILE2が終端まで行ってるか?){
   FILE2から読み込み
 }
}
FILE1から1つめのデータを読み込んで、FILE2上の全てのデータで含まれているかどうかチェックする
(この時点でFILE2上にはデータが残っていない)

FILE1から2つめのデータを読み込むと、FILE2には「もうデータが無い」と判断し誤動作する、というわけで。