如何用 fopen 打开一个指针?
How to open a pointer with fopen?
通常我们都是这样打开文件的
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");
}
如果您在调用 read_metadata
时已经打开了参数 image
(即,如果先前对 fopen
的调用在调用代码中成功),则不需要再次调用 fopen
。它已经开放了。此外,该代码甚至不应该被编译,因为 fopen
将 char *
字符串作为其第一个参数,而不是 FILE
.
只需立即在 image
上使用文件 I/O 函数(fread
、fgets
、fscanf
等)。
通常我们都是这样打开文件的
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");
}
如果您在调用 read_metadata
时已经打开了参数 image
(即,如果先前对 fopen
的调用在调用代码中成功),则不需要再次调用 fopen
。它已经开放了。此外,该代码甚至不应该被编译,因为 fopen
将 char *
字符串作为其第一个参数,而不是 FILE
.
只需立即在 image
上使用文件 I/O 函数(fread
、fgets
、fscanf
等)。