看板 C_Sharp 關於我們 聯絡資訊
※ 引述《MMAXo (充滿自信與信任)》之銘言: : 原始 C code : fread(pic[i, j], 1, 1, fp); : 我要轉成 C# : StreamReader sr = new StreamReader(argv); : for (int i = 0; i < 2460; i++) : { : for (int j = 0; j < 3360; j++) : { : pic[i, j] = 0; : pic[i, j] = sr.Read() + j; // <=== 這裡 : } : } : 我這樣讀進來的方式有問題嗎? thx : 補充一下...我要讀的檔案是 raw data 經過 sony_Decrypt 過的檔案 StreamReader 主要是用來讀取字串 (字元) 的,要使用二進位方式讀取可以使用 BinaryReader,不過如果每次只讀一個位元組的話就不用再透過 BinaryReader, 直接使用 Stream 讀取即可。和 fread 最接近的應該是 Stream 類別的 Read 方法: int Read(byte[] buffer, int offset, int count) buffer:儲存資料的緩衝區 offset:讀進來的資料要從 buffer[] 的哪裡開始放 count :要讀取的位元組個數 回傳 :實際讀取的位元組個數 雖然 Stream.Read 跟 fread 很像,不過只讀一位元組的話使用 Stream.ReadByte 方法 會比較方便。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.139.170