请教:在调用函数BlockRead()的时候,老是出现 I/O error 998的错误,通常是什么原因?

anneduan 2003-09-02 04:22:31
请教:在调用函数BlockRead()的时候,老是出现 I/O error 998的错误,通常是什么原因?
...全文
231 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
X东海 2003-12-07
  • 打赏
  • 举报
回复
reset(source,1);
rewrite(target,1);
anneduan 2003-09-02
  • 打赏
  • 举报
回复
可是我已经设了参数AmtTransferres阿
这样吧,我把我的代码贴出来,看看有什么问题?
procedure TForm1.Button3Click(Sender: TObject);
var
source,target:file;
numread,numwrite:integer;
buffer:array[1..2048] of byte;
begin
AssignFile(source,edit1.text);
reset(source);
AssignFile(target,edit2.text);
rewrite(target);
repeat
begin
BlockRead(source,buffer,sizeof(buffer),numread);
BlockWrite(target,buffer,numRead,numWrite);
end;
until (numread=0) or (numread<>numwrite);
closefile(source);
closefile(target);
end;
lxpbuaa 2003-09-02
  • 打赏
  • 举报
回复
procedure BlockRead(var F: File; var Buf; Count: Integer [; var AmtTransferred: Integer]);

没有读取到Count个字节并且你没有指定AmtTransferred参数。如果你指定了AmtTransferred就不会有问题了。如
var
AmtTransferred: Integer;
begin
BlockRead(F, Buf, Count, AmtTransferred);而不是:
BlockRead(F, Buf, Count);
end;

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧