XPで、BCCとフリーのエディタで作業しております。

Dドライブ内のフォルダ D:\hoge に作ったプログラムを置いて、出力されるファイルを
そのフォルダ内の小フォルダに出力しようと思いまして
D:\hoge\hogedat というフォルダを作ってから、D:\hoge内に以下のようなコードのプログラム
を置きました

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp1;
int i;
char *fn;

fn=(char*)malloc(30*sizeof(char));

sprintf(fn,"D:\\hoge\\hogedat\\dat1.dat");
fp1=fopen(fn,"w");

for(i=0;i<10;i++)
{
fprintf(fp1,"write%d\n",i);
}
fclose(fp1);
free(fn);
return 0;
}
しかし、出力できませんでした。どのようにすべきか、ご教示願います