我尝试使用gcc编译器运行以下程序来输出bmp文件,但它显示错误:segment fault(core dumped)。我努力解决这个问题,但它没有改变任何东西。 此外,我想知道打开新的bmp图像时出现错误的任何错误。 FILE * infile;
FILE *outfile;
BITMAPFILEHEADER hf;
BITMAPINFOHEADER hInfo;
RGBQUAD hRGBpal[256];
答案 0 :(得分:3)
您正在阅读未分配的指针
fread(&hf, sizeof(BITMAPFILEHEADER),1,infile);
fread(&hInfo,sizeof(BITMAPINFOHEADER),1,infile);
读入这些指针时需要为这些指针分配内存
编辑:如果您打算读取使用malloc分配的指针,则需要从读取中删除&
,因为& hf将占用指针变量的地址hf而不是其中分配的内存地址
否则提到@ user0042只是将它们声明为变量而不是指针,这样就不需要为它们分配内存了