2015-11-19 35 views

回答

1

我假設你可以從文件中獲得圖像的尺寸(稱之爲WH)。如果不是,從wikipedia

閱讀的格式現在,你需要爲你想使二維數組分配內存。您將需要一個char **buf(假設8位灰度,您可以使用longlong long爲32/64位的圖像。

下一頁分配爲指針的空間,你將存儲圖像的行。

buf=(char**)malloc(sizeof(char*)*H); 

接下來,你需要爲每行分配空間,並從標準輸入讀取它(你可以在一個循環中使用scanf)。

for(int y=0;y<H;y++){ 
    buf[y]=(char*)malloc(sizeof(char)*W); 
    for(int x=0;x<W;x++) 
    scanf("%d",&buff[y][x]); 
} 

,就大功告成了!請注意,你將不得不做的malloc retur檢查N值和限寬和高以健全的值,如果你打算分發代碼。