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

cod*_*ver 1 c file-io fopen bmp visual-c++

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

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

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

提前致谢.

Chr*_*ris 7

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

  • 我打赌他的2美分,他没有在他的IDE上配置工作目录. (2认同)
  • 如果fopen返回"NULL",则唯一的选项是文件权限,文件不存在或文件系统错误.如果你是在windows下编程,请确保转义反斜杠或使用普通斜杠作为路径分隔符,例如:`fopen("c:\\ test \\ file1.bmp","rb");`或`fopen(" c:/test/file1.bmp","rb");` (2认同)