由于要定义一个文件格式,需要写入一些长度信息,原来的思路是把长度信息转成string来写入,读出的时候 再转为INT,这个很不科学,但是如果直接在Tfilestream里write int或者int64类型,读的时候却出错,希望有人来解惑,如何在 TStream里写入和读出整数.

解决方案 »

  1.   

    var
    i: Integer;
    fs: TFileStream;fs对象创建等略

    fs.WriteBuffer(i, SizeOf(i));

    fs.ReadBuffer(i, SizeOf(i));int64同理,要读写时候要注意position。
      

  2.   

    成了,我也是这么干的 但是因为我是用string 所以是用定长来Write和read,流操作长度设成了12,这样写入可以,读出来就不行了,用8字节就没事了. 读和写string的时候 stream会自动处理空字符,int不会. 谢谢楼上啦