gpt4 book ai didi

linux - Linux 上的 C 中的段错误(核心转储)错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:06:55 25 4
gpt4 key购买 nike

我尝试使用 gcc 编译器运行以下程序来输出 bmp 文件,但它显示错误:段错误(核心转储)。我努力解决这个问题,但没有改变任何事情。另外,我想知道打开新的 bmp 图像时会发生什么错误。文件 *infile;

FILE             *outfile;

BITMAPFILEHEADER hf;
BITMAPINFOHEADER hInfo;
RGBQUAD hRGBpal[256];

最佳答案

您正在读取未分配的指针

fread(&hf, sizeof(BITMAPFILEHEADER),1,infile);
fread(&hInfo,sizeof(BITMAPINFOHEADER),1,infile);

读入这些指针时,您需要为其分配内存

编辑:如果您打算读取使用 malloc 分配的指针,则需要从读取中删除 &,因为 &hf 将占用指针变量 hf 的地址,而不是在其中分配的内存地址

否则,正如 @user0042 提到的,只需将它们声明为变量而不是指针,这样就不需要为它们分配内存

关于linux - Linux 上的 C 中的段错误(核心转储)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45727607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com