fopen打开文件失败 errno打印出来替9 求大神帮帮忙

fopen打开文件失败 errno打印出来为9 求大神帮帮忙
出错的地方局部代码是这样的  这是一个MFC程序的一部分   其中fp  是FILE *fp 声明的一个全局变量    没在其他地方用过
FILE *filp = NULL;
char save[100];
char path[1000];
system("del /Q D:\\buf.Ock");
sprintf_s(path,"dir /b %s >>D:\\buf.Ock",s);

system(path);//将目录导出到buf.Ock

filp = fopen("D:\\buf.Ock","rb");
for (int m=0;m<1000;m++)
{
if (s[m]==92)
{
m++;
for (int npos=500;npos>=m;npos--)
{
s[npos+1]=s[npos];
}
s[m]=92;
}
}
while (!feof(filp))
{
for (int m=0;m<1000;m++)
{
k[m]=s[m];
}
fgets(save,100,filp);
if (feof(filp))
{    
break;
}

sprintf_s(k,"%s\\\\%s",s,save);

if (k[0]==34) k[strlen(k)-1]=0,strcpy(k,k+1); //支持文件拖曳,但会多出双引号,这里是处理多余的双引号
if (!strcmp(k,"exit")) exit(0); //输入exit退出

if (!(fp=fopen(k,"rb"))) 
{
------解决思路----------------------
k和s的定义有问题。