【发布时间】:2012-11-04 20:19:55
【问题描述】:
我有一个用于将 pgm 文件格式读取到内存的函数的问题。
我使用了以下链接 http://www.cse.unr.edu/~bebis/CS308/Code/ReadImage.cpp 中的来源。您可以在同一目录中找到其他人;以及 CS308 中的一些说明;如果你有兴趣。
问题是 ifstream ifp 失败;我认为这段代码可能是原因;但我觉得很好。
任何想法将不胜感激
charImage = (unsigned char *) new unsigned char [M*N];
ifp.read( reinterpret_cast<char *>(charImage), (M*N)*sizeof(unsigned char));
if (ifp.fail()) {
cout << "Image " << fname << " has wrong size" << endl;
exit(1);
}
【问题讨论】:
-
当您说“ifp 失败”时,您的意思是它打印“图像 fname 大小错误”吗?
-
是的;它是 。我最怀疑这段代码;因为图像的所有参数都是正确的;我检查了。
-
你永远不会打开
ifp的实际文件。 -
否;我不 。恐怕整个函数太长了,这里就不全部复制了。您可以查看我提供的链接。 cse.unr.edu/~bebis/CS308/Code/ReadImage.cpp
-
文件一点也不长。
标签: c++ memory-management binary ifstream pgm