windows上でBCCを使っています。
1行ずつテキストファイルを読み込んで、条件により文字列の置換を
行うプログラムを作っているのですが、fgetsの基本的なところがわか
ってないもので上手く処理できずに困っています。

悩んでいる処理が

while(fgets(buf,512,fin)!= NULL){
....置換処理
fputs(buf,fout) //・・・処理しない行

という処理なのですが、出力結果をバイナリエディタで見ると改行"0D0A"
の前に"0D"が入ってしまいます。
fgetsでbufに読み込んだ終端に"0D"が挿入されるから当然の動作
なのでしょうが、それを上手く削除する方法がわかりません。
それで、しかたなく今は、

fseek(fout,-3,SEEK_CUR);
fprintf(fout,"\n");

なんてことをしています・・・(汗
いいやり方があれば教えて下さい。。。。