gpt4 book ai didi

c++ - 图片加载功能不工作

转载 作者:行者123 更新时间:2023-11-27 23:14:35 25 4
gpt4 key购买 nike

好吧,我一直在做一个项目,遇到了这个问题。我在运行我的程序时收到此消息:

Unhandled exception at 0x76fa15de in programmingproj.exe: 0xC0000005: Access violation reading location 0x00000000.

这是 Visual Studio 指出错误的代码:

float **LoadImg(const char *filename)
{
float **data = { 0 };
char *buf = new char[32];
std::string buf2;

std::ifstream filebuf(filename);

filebuf.getline(buf, 32);

// Reiterate over each pixel, very inefficient, needs to be fixed.
for (int x = 0; x < (IMAGE_SIZE_X - 1); x++)
{
for (int y = 0; y < (IMAGE_SIZE_Y - 1); y++)
{
filebuf.getline(buf, 32);

// Only copy the values.
for (int i = 8; i < 32; i++)
{
if (buf[i] != '\t' && buf[i] != ' ')
{
buf2 += buf[i];
}
}

// Set the pixel's value.
data[x][y] = (float)strtodbl(buf2);
}
}

filebuf.close();

return data;
}

这是我尝试阅读的格式示例:

x   y       Value
1 1 0
1 2 0
1 3 0
1 4 0
1 5 10.159
1 6 5.225
1 7 1.337
1 8 0
1 9 0
1 10 0

我只需要将值字段加载到适当的像素 (x, y)。

strtodbl 函数只是我编写的用于替换 atof 和/或 strtod 的快速工具。

编辑:IMAGE_SIZE_X 和 IMAGE_SIZE_Y 只是图像大小 (97x56) 的常量。

最佳答案

您已将 data 声明为指向指针的指针,并且您正在使用 data 但您从未分配空间并设置 data 指向它。在尝试读取/写入 data 应该指向的内容之前,您必须这样做。

关于c++ - 图片加载功能不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17240596/

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