Как открыть указатель с помощью fopen? - PullRequest
0 голосов
/ 08 февраля 2019

Обычно мы открываем файл таким образом

FILE *student_file;

student_file = fopen("five_students", "rb");

Теперь у меня есть функция с указателем изображения в качестве аргумента.Я хочу открыть файл изображения и прочитать содержимое внутри.Я пытался открыть его следующим образом, но он не работает.Как я могу это исправить?

void read_metadata(FILE *image, int *pixel_array_offset, int *width, int *height) {
     FILE* img = fopen(*image, "rb");
}

1 Ответ

0 голосов
/ 08 февраля 2019

Если у вас уже есть параметр image, открытый при вызове read_metadata (т. Е. Если предыдущий вызов fopen завершился успешно с кодом вызова), вам не нужно повторно вызывать fopen для него.Это уже открыто.Кроме того, этот код даже не должен компилироваться, поскольку fopen принимает строку char * в качестве первого аргумента, а не FILE.

Просто используйте функции файлового ввода-вывода в imageсразу же (fread, fgets, fscanf и т. д.).

...