所以我的工作是應該在PGM/PPM文件的讀取,並最終修改它的類。不過,我仍然在閱讀數據。我現在的目標是爲二進制數據創建的存儲空間。下面是我所應該做的是功能代碼:創建存儲的PPM/PGM圖像數據
uchar* pxm::newimg(int nrows, int ncols, int bpp)
{
uchar *newimage = new uchar[nrows * ncols * bpp];
//uchar defined as binary data previously
return newimage;
}
然後我在我的「讀」功能,使用此爲:
img = newimg(nrows, ncols, bpp); //img declared in private section of class
ws(myfile); //reads the newline
myfile.read((char *) img[0], nrows * ncols * bpp);
//nrows, ncols, and bpp private member variables in class
myfile.close();
不幸的是,儘管此代碼編譯,它產生運行時出現分段故障。我相當肯定我的問題是在newimg功能,因爲我做了檢查,以確保我在文件中正確讀取並正確設置NROWS,NCOLS和BPP,還有magicid。因此,我相信我沒有正確初始化數組。如果任何人有任何建議,將不勝感激。 謝謝, Zeta p.s 如果您需要我的代碼的更多細節,請求它,我會添加更多的帖子。
對於這樣的微不足道的問題,最好是問問你的老師或TA,而不是混淆StackOverflow。 – Quuxplusone