(fp=fopen()) ==NULL ってのは分かるが
while(条件式のみ)ってのは如何なものかと。