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的定义有问题。
出错的地方局部代码是这样的 这是一个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的定义有问题。