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

空城丶孤人 2015-09-05 02:15:26
出错的地方局部代码是这样的 这是一个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")))
{
...全文
773 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-09-06
  • 打赏
  • 举报
回复
k和s的定义有问题。
空城丶孤人 2015-09-05
  • 打赏
  • 举报
回复
引用 1 楼 m_inttemp 的回复:
就是在最后这个地方 总是打开失败的 k
s是save文件之前的路径
空城丶孤人 2015-09-05
  • 打赏
  • 举报
回复
就是在最后这个地方 总是打开失败的 k

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧