C程序不会打开作为参数

时间:2017-02-06 02:21:26

标签: c arguments

我正在编写一个程序,它将2个文件名作为参数,然后打开它并详细说明数据。 问题是由于某种原因它不会打开第二个文件。

int main(int argc, char *argv[]) {

    FILE *fltr_file, *ig_file;

    ig_file = fopen(argv[2], "r");
    fltr_file = fopen(argv[3], "r");
}
运行程序时,

fltr_file指向NULL(0x0)。它需要igfltr作为参数,这两个文件都存在于程序的目录中。

1 个答案:

答案 0 :(得分:1)

argv[0]是程序名称,argv[1]是第一个参数。

如果你的程序只接受两个参数,你可能需要索引1和2:

ig_file = fopen(argv[1], "r");
fltr_file = fopen(argv[2], "r");
相关问题