質問させてください。

ifstream in;
string buf;

in.open("hoge.txt");
while(!in.eof()){
getline(in, buf);
cout <<++Count <<endl;
}

このようなプログラムを実行すると、3行のhoge.txtを
開いているのにカウントが、"4"と出て一行空白を読んで
きているみたいなんですが。やりかた間違ってますか?
とりあえず、
if(buf[0] == '\0')break;
というやつをgetline()の直後に書いて空白をカウントしない
ようなやりかたやったりしてます。