学校程序设计实习 刚学了几天MFC 调试的时候出现了错误

图片说明
主要是制作哈弗曼树的窗口 想利用文件在对话框上显示,其它函数里这样用没错,一到这个函数就出错了,而且这个文件只在这个函数中使用了,我是小小白
求大神不吝指教
void printNodeCode(HTNode htnode[], HTCode htcode[], int n) //输出每个结点的编码
{
int i,k;
int num = 0;
FILE *fp = fopen("printNodeCode.txt","w");

for (i = 0; i<=n; i++)
{ //逐个输出字符对应的哈弗曼编码
// printf("%c:", htnode[i].data); //输出字符
fprintf(fp,"%c:",htnode[i].data);//将编码读入printNodeCode.txt
for (k = htcode[i].start; k <= n; k++)
{
// printf("%c", htcode[i].code[k]); //输出编码
fprintf(fp,"%c",htcode[i].code[k]);//将编码读入printNodeCode.txt
}
fprintf(fp,"\n");//将编码读入printNodeCode.txt
// cout<<endl;
}
cout<<endl;
fclose(fp);
}

下断点调试,你的i k是否下标越界。

显示在什么控件里,这是内存无效的错误