读书人

为什么打开文件会失败

发布时间: 2013-11-09 17:06:34 作者: rapoo

为何打开文件会失败?
#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环境吧。

读书人网 >C++

热点推荐