質問です。Visual C++6.0にて

void main()
{
ifstream ud;

ud.open("test.dat");
if(ud.bad()){
cerr<<"can't open file\n";
}
ud.close();
}

を作成・実行すると、"test.dat"なるファイルが存在しないにもかかわらず、なぜかサイズ0の
ファイル"test.dat"を勝手に作成して、 if(ud.bad()){} を素通りしてしまいます。
どうすればファイルを勝手に作らないように出来るでしょうか?