首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi中流的ReadBuffer和Read什么区别?解决方案

2013-01-25 
Delphi中流的ReadBuffer和Read什么区别?看了下参数,一模一样的(唯一不同是procedure和function)。还有为什

Delphi中流的ReadBuffer和Read什么区别?
看了下参数,一模一样的(唯一不同是procedure和function)。


还有为什么要用Read或者ReadBuffer?起什么作用呢?

麻烦详细点,谢谢!!!
[解决办法]
Read 好像是返回实际读取的字节 len 多大没关系  
ReadBuffer len 过长时好像会出错 len 事先要清楚 没错才行 

[解决办法]


procedure TStream.ReadBuffer(var Buffer; Count: Longint);
begin
  if (Count <> 0) and (Read(Buffer, Count) <> Count) then
    raise EReadError.CreateRes(@SReadError);
end;

尽量使用ReadBuffer
[解决办法]
Read读取全部
ReadBuffer可以读取部分,但不能超过总长度
[解决办法]
ReadBuffer是必须读取到所需字节,否则抛异常。比如stream当前位置到结尾的数据长度小于count参数,就抛异常。
[解决办法]
ReadBuffer内部会调用read

热点排行