读写无类型文件的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 nieyunfeng
  • 开始时间 开始时间
N

nieyunfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好:
在读写无类型文件时,经常看到下面的格式:
repeat
BlockRead(File1,buf,Sizeof(buf),NumRead);
BlockWrite(File2,buf,NumRead,NumWrire);
until NumRead:=0 or NumRead<>NumWrire;
这里具体怎么理解啊?是不是先把数据读到buf中,等到buf已经满了,就开始把buf的数据写到文件中去,写了之后buf是不是清空了又开始接授收新一轮的读取的数据啊?
是不是写一次数据之后buf就清空一次啊?还有这个NumRead 和 NumWrire是怎么变化的啊?
哪位大虾能把读写一次后每个变量的变化情况具体分析一下好么?非常感谢!
 
第一,你这段程序有很明显的基本低级错误,
第二,想知道变量情况自己按F7一下下步进就知道了。
 
read后 buf中是读入的数据,NumRead是真实读入的数据大小
write后 buf数据仍然存在 NumRead不变 NumWrite为真实写入的数据大小

buf要手动清空 buf.clear
 
在这个例子中,buf不用清空。Buf只做一个转移数据的容器而已,且数据长度在NumRead中已经指明了。
 
后退
顶部