我新建一个文件,向里写入一个0,它占两个字节。
var
    FileNum:Word;
begin
FileNum:=0;
Target:=TFileStream.Create('c:\aaa.cjj',fmOpenWrite or fmCreate);
Target.Seek(0,soFromBeginning);
Target.WriteBuffer(FileNum,Sizeof(FileNum));
end;当我用ultraedit打开'c:\aaa.cjj'时,切换到HEX模式,发现里面是
00000000h: 00 00
能帮我解释一下吗?

解决方案 »

  1.   

    首先WORD类型的宽度为2个字节,所以文件内容也是两个字节,即:00 00;
    同时你写入的是变量FileNum的值0,当然显示00 00,如果是1,则显示01 00;还有什么不明白吗?
      

  2.   

    00000000h:其实没什么意思,你可以把它看成是行号;如果你能看懂汇编,就会知道这个可以是内存地址;
    ;是一个分隔号,把左边十六进制的内容和右边ASCII的内容分开;
    .表示这是一个无法显示的字符,比如控制字符!OK?
      

  3.   

    00000000h: 00 00
    冒号后面的才是数字.前面的好象是段内地址.这是关于文件的存储结构的.看看<操作系统>
      

  4.   

    ;是一个分隔号,把左边十六进制的内容和右边ASCII的内容分开;是什么意思?
      

  5.   

    就是说,000000000h是一个十六进制的数,表示一个地址,':'后面的00 00这个一个ascii码表示你输入的内容!