文件指针问题
我写了一个程序,读取一个BMP文件中的RGB分量并存在二维数组中,编译的时候出现三个warning,出来的结果也不对。大家帮我看看。我觉得程序大部分地方没有问题,问题就出现在倒数7~9行,不知道该怎么用文件指针。谢谢啦。/**********************************************************/
//读取位图数据
#include <stdio.h>
#include <stdlib.h>
#include "GetImMessage.h"
/**********************************************************/
void main()
{
int i,j,k=0;
unsigned char imager[512][512],imageg[512][512],imageb[512][512]; //存储图像的各个像素(此处的数组大小可根据位图信息动态修改)
FILE *fp;
char filename[20];
printf("请输入文件的名称:\n");
scanf("%s",filename);
fp=fopen(filename,"r");
if(fp==NULL)
{
printf("Open the file is fail!\n");
exit(0);
}
readbitmap(fp); //读取位图信息
fseek(fp,BITMAPFILEHEADER.bfOffBits,SEEK_SET);//将读写指针移到图像数据处
for(j=511;j>=0;j--)
for(i=0;i<3*512;i+=3)
{
imager[j][i/3]=(unsigned char*)fp+512*(511-j)+i+2;
imageg[j][i/3]=(unsigned char*)fp+512*(511-j)+i+1;
imageb[j][i/3]=(unsigned char*)fp+512*(511-j)+i;
}
for(i=0;i<512;i++) //测试,第一行的红色分量
{
printf("%4d",imager[0][i]);
}
}
[ 本帖最后由 grassboy 于 2009-8-17 20:52 编辑 ]