数据流如何转换成指定类型

fidt982 2007-01-17 11:18:15
现在我从文件中读取到一串Byte[]数组,里面的类容是按格式写的,比如前面的字节是一个文件头,而这个文件头是我定好的struct。
例如:
typedef stuct FileHead
{
char a[20];
char b[40];
int c;
int d
}FileHead;

我如何从前面连续的字符中获取到这个结构体。
文件是用C写的,在C中只需要利用指针做个强转就可以了, 问C#下如何实现。
谢了!!!
...全文
253 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2007-01-18
  • 打赏
  • 举报
回复
对,建议序列化,这样才能达到你的要求。。。
liujia_0421 2007-01-18
  • 打赏
  • 举报
回复
如果你是序列化的,倒可以一步反序列化再回来..
liujia_0421 2007-01-18
  • 打赏
  • 举报
回复
C#中没有一步到位的...

至少我现在还没见过..
fidt982 2007-01-17
  • 打赏
  • 举报
回复
楼上的这种方法我也知道,只是觉得太烦琐,因为实际情况中的结构体要比这复杂得多,而且这个文件里包含多个结构体,如果用上面的方法太麻烦了。

有没有更好的办法,
像C里面的可以一步到位的
FileHead stFileHead = *(FileHead*)br;
liujia_0421 2007-01-17
  • 打赏
  • 举报
回复
try..

Stream stream=new FileStream(file);
BinaryReader br=new BinaryReader(stream);
FileHead fh=new FileHead();
fh.a=br.ReadChars(20);
fh.b=br.ReadChars(40);
fh.c=br.ReadInt32();
fh.d=br.ReadInt32();


//结构体定义如下
stuct FileHead
{
public char[] a;
public char[] b
public int c;
public int d
}FileHead;

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧