1
FILE * in;
in = fopen("file1.bmp", "rb"); 
if (in == NULL) {
    perror("file1.bmp");
    return ;
}

为什么我无法打开 *.bmp 文件。fopen() 正在返回 NULL

任何人都可以帮助我如何成功打开 BMP 文件。我应该使用其他一些 C++ 函数吗?如果是,请告诉我。一个例子会很有帮助。我在 VS2008 中使用 VC++。

提前致谢。

4

2 回答 2

7

该文件不存在,或者您无法从中读取(可能是文件权限)?
您可能有工作目录问题。尝试使用完全限定的路径打开文件。
这也是一个简单的 C 问题

于 2012-11-08T11:49:18.917 回答
2
#include<stdio.h>
#include <errno.h>

int main()
{
FILE * in;
in = fopen("file1.bmp", "rb"); 
if (in == NULL) {
    perror("file1.bmp");
    printf("Error %d \n", errno);
    return ;
}

}

使用这种方式errno从这里查看并找到它的含义http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

于 2012-11-08T12:00:23.180 回答