为何打开文件会失败?
#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+");//这样试试