首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于fopen函数返回异常指针有关问题

2012-03-21 
关于fopen函数返回错误指针问题#include stdio.hint _tmain(int argc, _TCHAR* argv[]){FILE *pffopen(

关于fopen函数返回错误指针问题
#include <stdio.h>

int _tmain(int argc, _TCHAR* argv[])
{
FILE *pf=fopen("mm.bmp","rb");


return 0;
}
打开一个位图文件,FILE *pf=fopen("mm.bmp","rb");这句下断,然后在调试窗口里pf指针尽都是错误的,请问这是什么原因?
用的是VS2008。

[解决办法]
FILE *pf;
pf=fopen();
 分开写

[解决办法]
你能不能在return 0那句下断啊?
。。。 。。。
[解决办法]
断点行是将要执行而还没有执行到的行
[解决办法]
加上判断

C/C++ code
if (pf == NULL){    return 0;}
[解决办法]
探讨
加上判断
C/C++ codeif (pf== NULL)
{return0;
}

[解决办法]
探讨
#include <stdio.h>

int _tmain(int argc, _TCHAR* argv[])
{
FILE *pf=fopen("mm.bmp","rb");


return 0;
}
打开一个位图文件,FILE *pf=fopen("mm.bmp","rb");这句下断,然后在调试窗口里pf指针尽都是错误的,请问这是什么原因?
用的是VS2008。

[解决办法]
FILE结构体定义如下:
C/C++ code
typedef struct{short level; //缓冲区“满”或“空”的程度unsigned flags;//文件状态标志char fd;unsigned char hold;short bsize;unsigned char *buffer;.........}FILE;
[解决办法]
FILE *pf=fopen("这里要用全路径,我猜你根本没找到要打开的文件!mm.bmp","rb");
[解决办法]
探讨
加上判断
C/C++ codeif (pf== NULL)
{return0;
}

这个加后后,没有执行return 0,文件也是没有错误的,但就是在调试窗口里pf显示pf是错误指针

[解决办法]
或者将mm.bmp文件放在你这个工程文件所在的目录。
在VS里执行时,默认会在*.vcproj目录里查找文件。
[解决办法]
这说明VC的中文太SB了,
文件没有读写操作,FILE结构中的某些成员,没被初始化是很正常的事情,并不是错误。

热点排行