看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 目前想把一個raw檔讀入一維陣列 每一個raw檔的pixel有8個位元 所以宣告char陣列 來儲存352*288的圖檔 所以宣告101376的字元陣列。 自己的寫法如下: FILE *fptr; int i= 0; unsigned char num[101376]= {0}; fptr = fopen("c:\\HW\\HW2_Porsche918Spyder.yuv","rb"); fread(&num,sizeof(unsigned char),101376,fptr); unsigned char num_int[101376]={0}; //宣告字元陣列來裝轉換int後的值 char *endptr; for(i=0;i<101376;i++) num_int[i] = strtol(&num, &endptr, 2); 問題1:這樣使用fread對嗎? 問題2:這樣使用strtol對嗎? 餵入的資料(Input): 讀入一個幾乎整片綠的法拉利raw圖檔 預期的正確結果(Expected Output): 小弟覺得讀進來的結果 應該值在0~255之間 錯誤結果(Wrong Output): 但出來的值幾乎是22上下誤差不到2.. 我感覺好像是錯的... 請大大幫忙>"< 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.234.29
firejox:.... 08/12 20:34
firejox:不需strtol... 08/12 20:35
firejox:而且請自己先去複習什麼是binary檔... 08/12 20:49
firejox:而且自己試著輸出num array... 08/12 20:51
james732:覺得讀圖檔問題可以在精華區開專區了 08/12 23:02
loveme00835:@_@ 同感 08/12 23:03
angleevil:上次圖檔有兩篇好文,版主要不要收集一下.讓在下以後可 08/13 07:04
angleevil:以偷偷會點皮毛 08/13 07:04