我在用BinaryReader读取二进制文件的时候遇到一个问题,文件头有一个Uint数,后面接一个字符'#',再后存储一个short数.我想直接读取这个short数,试着把前面的数据用reader.ReadBytes(6)跳过,但是这样得到的结果不对,后来我让reader只跳过5个字节即reader.ReadBytes(5);,这时我再调用read.ReadInt16();就得到了正确的结果.我不明白的是C#里uint型变量占用4个字节,char型占用2个字节.可是为什么我让reader跳过这6个字节得不到正确的结果,而必须跳过5个字节?我改了下程序,跳过4个字节读取char,得到的结果正确,我想问题在char型变量上,难道它在C#中只占用一个字节吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货