作者jackeyH (面包小男孩)
看板C_Sharp
标题Re: [问题] 写入二进制档案问题
时间Sun Oct 29 11:09:50 2006
※ 引述《immj (immj)》之铭言:
: 各位大大,我想把int写入二进制档案。
: 我利用以下程式码写入一个值,但出现在二进制档案内容的数值结果却是反过来的,
: 例如
: 我输入255,我希望出现的是 00 00 00 FF,出现的却是 FF 00 00 00
: 输入256,我希望出现 00 00 01 00,但出现的却是 00 01 00 00。
: 以下是我的程式码撷取,请问各位高手该怎麽改呢?
: 我的原则是输出的位数要占4BYTE。
: FileStream fs = new FileStream(Direct, FileMode.Create);
: BinaryWriter sw = new BinaryWriter(fs, Encoding.ASCII);
: int a = 255;
: sw.Write(a);
: sw.Close();
试试看System.Net里面IPAddress类别底下
有一个转换 Network Order与Host Order的Static的方法:
int NetworkToHostOrder (int network)
return的int是Host Order的integer
parameter的int是Network order的
int传出去前先做HostToNetworkOrder()
(一样是在System.Net里面IPAddress类别底下的Static方法)
收到以後做NetworkToHostOrder()转回来
再把转换过的东西转成你要的形式写到你的档案就应该OK了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 134.208.44.179