Во-первых, из fopen
руководства мы видим, что сигнатура функции:
FILE *fopen(const char *pathname, const char *mode);
Это означает, что он вернет указатель типа FILE
и ожидает два аргумента, оба указателя на char
. Второй аргумент, который вы передаете fopen
в своем коде, это char
, а не char*
, поэтому мы должны это исправить. Также сохраните возвращенный указатель fopen
, так как вы должны использовать его, чтобы закрыть файл после того, как с ним покончено.
Итак, ваш код будет выглядеть примерно так:
FILE *fp;
if ((fp = fopen(argv[2], "r")) == NULL) {
printf("File does not exist!\n");
exit(0);
} else {
/* file exists... do stuff */
fclose(fp);
}