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