尝试打开bmp文件(C ++)时fopen返回NULL?

时间:2012-11-08 11:47:01

标签: c visual-c++ file-io fopen bmp

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分: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

中找到其含义