简单的C++函数参数传递问题 10
#include<iostream>#include<fstream>usingnamespacestd;intmain(){//寻找bmp文件中,文件的高和宽FILE*...
#include <iostream>
#include<fstream>
using namespace std;
int main()
{
//寻找bmp文件中,文件的高和宽
FILE *file_bmp;
file_bmp=fopen("图片测试文档.bmp","rb");
if(NULL==(file_bmp))
{
return -1;
}
fseek(file_bmp,0x0012,SEEK_SET);
int *iWidth;
int *iHeight;
fread(iWidth,4,1,file_bmp);//这里有问题,应该是参数传递错误导致的
fseek(file_bmp,0x0016,SEEK_SET);
fread(iHeight,4,1,file_bmp);
/*
int iWidth,iHeight;
fread(&iWidth,4,1,file_bmp);//这样结果是对的,但是理论上两种方法是相同的啊
fseek(file_bmp,0x0016,SEEK_SET);
fread(&iHeight,4,1,file_bmp);
*/
return 0;
}
为什么第一种方法引起内存错误? 展开
#include<fstream>
using namespace std;
int main()
{
//寻找bmp文件中,文件的高和宽
FILE *file_bmp;
file_bmp=fopen("图片测试文档.bmp","rb");
if(NULL==(file_bmp))
{
return -1;
}
fseek(file_bmp,0x0012,SEEK_SET);
int *iWidth;
int *iHeight;
fread(iWidth,4,1,file_bmp);//这里有问题,应该是参数传递错误导致的
fseek(file_bmp,0x0016,SEEK_SET);
fread(iHeight,4,1,file_bmp);
/*
int iWidth,iHeight;
fread(&iWidth,4,1,file_bmp);//这样结果是对的,但是理论上两种方法是相同的啊
fseek(file_bmp,0x0016,SEEK_SET);
fread(&iHeight,4,1,file_bmp);
*/
return 0;
}
为什么第一种方法引起内存错误? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询