gpt4 book ai didi

C++:使用ifstream读取大型pgm文件

转载 作者:行者123 更新时间:2023-11-28 07:32:27 25 4
gpt4 key购买 nike

我想使用 std::ifstream 加载大小为 4096x4096 像素的 16 位二进制 PGM 图像。问题是我只能加载较小的文件,例如。 512x512。如果我尝试加载“大”数据,我得到的数据对于每个像素始终为 0。

示例代码:

int size = width*height;
unsigned short* data = new unsigned short[size];

// Read the terrain data
for(int i = 0; i < size; i++)
{
file >> data[i];
}

如果我手动将大小设置为较低的值,这似乎可行。有什么想法吗?

谢谢提姆

最佳答案

operator >> 不应用于二进制提取操作。相反,通过使用 read 文件将简单地输入字节:

file.read(reinterpret_cast<char*>(data), sizeof data);

关于C++:使用ifstream读取大型pgm文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17391528/

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