У меня есть фиктивная функция обугленного * GetFileName(), который просто возвращает указатель на массив символов:C прочитать файл с указателем на строку в качестве имени
char * getFileName() {
char buff[11] = "index.html";
char *p;
p = buff;
printf ("name of the file: %s\n", p);
return p;
}
В моем случае этот указатель имя является имя файла, я хочу, чтобы открыть и прочитать из основных:
int main() {
char *fp;
FILE *file;
fp = getFileName();
int c;
file = fopen(fp, "r");
if (file) {
while ((c = getc(file)) != EOF) {
putchar(c);
}
fclose(file);
}
return (0);
}
Однако, я не могу открыть этот файл, используя значение указателя в качестве имени, хотя, когда я печатаю ∥f∥p, я получаю правильное имя, если file: index.html. Любые предложения, что я мог бы потерять? Спасибо :)