1
我是新来申请,并没有太多的想法。如何读取/写入ASCII .pgm文件
我写了尝试读取名为owl.pgm
一个ASCII .PGM文件,并将其写入为myowl.pgm
文件代码:
#include <fstream>
const int MAXHEIGHT=221;
unsigned char *bitmap[MAXHEIGHT]={'\0'} ;// pointers to each pixel row
int main()
{
int width=201, height=221;
std::ifstream ifile("owl.pgm",std::ios::in);
std::ofstream ofile("myowl.pgm",std::ios::out);
for(int i=0;i<height;++i)
{
for(int j=0;j<width;++j)
ifile.read(bitmap[i][j],sizeof(bitmap));
}
ofile << "P2\n" << width << " " << height << "\n255\n";
for(int i=0;i<height;++i)
{
for(int j=0;j<width;++j)
ofile<<bitmap[i][j];
}
}
通过我的代码中有一些错误。如果有人帮我纠正错误,我会很感激。
我的程序执行时,我得到一个错误“未处理的异常在0x00418019中owl.exe:0000005:访问冲突写入位置00000000。”我已经根据你的建议更改了代码。你现在能帮我解决这个错误吗? – zorroz 2013-02-25 11:25:34
@ zorroz:很难说这里的问题究竟是什么。用我的回答,我只想指出,在阅读实际数据之前,你应该考虑标题+展示了一种可能的方法,它可以为你提供正确的方向。如果您遇到此访问冲突并无法正常工作,请将其作为新问题发布:) – LihO 2013-02-25 11:55:25
好的。谢谢LiHo – zorroz 2013-02-25 13:52:08