作者hamsters (hamster)
看板C_Sharp
标题Re: [问题] fread 转成 StreamReader
时间Fri May 9 21:59:47 2008
※ 引述《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