[問題] 寫入檔案再讀出來變得不一樣了?

看板MATLAB作者時間18年前 (2006/08/02 19:05), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
以下是我的程式碼 >> fid = fopen ('huf.huf','wb'); >> fwrite(fid,comp,'ubit1'); >> fclose('all'); >> fid = fopen ('huf.huf','rb'); >> comp_new=fread(fid,'ubit1'); comp is a 1-by-2507 matrix comp_new is a 2512-by-1 matrix comp_new的前2507項與comp相同 但是矩陣卻大了5 那5個的內容都是0 是我讀寫檔的方式錯了嗎? 請指點一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.64.14

08/02 19:29, , 1F
這好像是因為寫檔案的時候最小的單位是1byte。所以不足的部份
08/02 19:29, 1F

08/02 19:30, , 2F
就用0代替。像2512/8剛好整除。
08/02 19:30, 2F

08/02 19:40, , 3F
驚!原來如此~~感恩
08/02 19:40, 3F

08/02 19:45, , 4F
實際原因我並不清楚,這可能要問MATLAB的作者。
08/02 19:45, 4F

08/02 19:47, , 5F
不過最少1byte是沒錯的。你可以試試看寫入1或9個元素的矩陣
08/02 19:47, 5F
文章代碼(AID): #14q8RZ7y (MATLAB)
文章代碼(AID): #14q8RZ7y (MATLAB)