我想小陣列複製到一個更大的陣列,我無法弄清楚如何得到它的工作(程序總是崩潰的Visual Studio 2008的32倍)的memcpy混亂
爲
memcpy(raster+(89997000), abyRaster, sizeof(abyRaster));
的memcpy工作
但不
memcpy(raster+(line*3000), abyRaster, sizeof(abyRaster));
我只是想獲得它的工作循環,但得到搞不清指針運算和int和無符號字符的大小。
想法?
unsigned char raster[3000*3000];
unsigned char abyRaster[3000*1];
for(int line=0; line<3000;line++) {
int arrayPosition = line*3000;
memcpy(raster+(arrayPosition), abyRaster, sizeof(abyRaster));
}
當你用300或30代替3000時它會發生什麼? – 2011-04-27 11:11:47
你的問題是堆棧不夠大。在堆上分配'abyRaster'.A建議:當您在Stack Overflow上發佈問題時,請提供錯誤消息。陳述「程序總是崩潰」並不是很有幫助。包括錯誤信息會對問題的質量產生重大影響。 – 2011-04-27 11:21:33