首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么打开文件会失败

2013-11-09 
为何打开文件会失败?#include stdio.h#include stdlib.hint main(int argc ,char * argv[]){FILE* fp,

为何打开文件会失败?
#include <stdio.h>
#include <stdlib.h>

int main(int argc ,char * argv[])
{
FILE* fp,*fout;

if(argc<=1)
{
printf("usage: %s filename\n",argv[0]);
return 1;
}

fp=fopen("argv[1]","r");
if(fp==NULL)
{
printf("Open  %s failed\n",argv[1]);
return 2;
}

printf("Open %s is successful\n",argv[1]);




if(fclose(fp)==0)
{
printf("Open %s is successful\n",argv[1]);
return 3;
}


else{
printf("Open %s is failed\n",argv[1]);
}

return 0;
}


打开的文件为hello.txt: Hello world!

但是打开文件失败:gcc ex4-1.c
                             a.out hello.txt
                            Open  hello.txt failed
请教各位大神是什么原因?


[解决办法]
fp=fopen("argv[1]","r"); 使用错了的
1 应该直接丢进去argv[1],不能加"", 加了 则表示 文件名为argv[1]了
2  文件不存在!而你是 r可读的方式打开!所以失败


fp=fopen(argv[1],"w+");//这样试试 

[解决办法]
除了2楼说的,fp=fopen("argv[1]","r");这句错了,记得还要注意Linux下的文件访问权限。你用gcc应该是linux环境吧。

热点排行