尝试从argv打开文件时fopen返回NULL

时间:2014-03-15 00:02:13

标签: c

我的问题是fopen在使用argv[1]时返回NULL。我正在使用代码块并已将程序参数设置为我要打开的文件。如果我直接在fopen中使用文件名,它就可以了,就像这个

一样
infilep = fopen("map1.map","r");

到目前为止的代码可以在下面找到。

#include <stdio.h>

int main(int argc, char *argv[]){
//  printf("%d\n",argc);
//  printf("%s\n",argv[0]);
//  printf("%s\n",argv[1]);
    FILE* infilep;
    infilep = fopen("argv[1]","r");
    if(infilep==NULL){
        printf("ERROR: Can not open file");
    }

return 0;
}

我做错了什么?

2 个答案:

答案 0 :(得分:2)

infilep = fopen("argv[1]","r");

应该是

infilep = fopen(argv[1],"r");

答案 1 :(得分:1)

这:

infilep = fopen("argv[1]","r");

应该是:

infilep = fopen(argv[1],"r");