本文整理自网络,侵删。
SetTextBuf设置文本文件内部缓冲区的大小procedure SetTextBuf(
var f: Text;
var Buf
);
procedure SetTextBuf(
var f: Text;
var Buf;
Size: SizeInt
);
描述SetTextBuf将I / O缓冲区分配给文本文件。新缓冲区位于Buf,长度为Size个字节。如果省略Size,则假定为SizeOf(Buf)。任何文本文件的标准缓冲区为128个字节长。对于繁重的I / O操作,这可能会太慢。所述SetTextBuf过程允许设置一个更大的缓冲器,用于应用程序的I / O,因此降低了系统调用的次数,并且因此减少了对系统资源的负荷。新分配的缓冲区的最大大小为65355字节。
备注: 切勿为打开的文件分配新的缓冲区。可以在调用Rewrite,Reset或Append之后立即分配一个新的缓冲区,但不能在读取/写入文件之后分配。这可能会导致数据丢失。如果在执行读/写操作后必须分配新的缓冲区,则应首先刷新文件。这样可以确保清空当前缓冲区。注意分配的缓冲区始终有效。如果将局部变量分配为缓冲区,则程序退出本地程序块后,缓冲区将不再有效,并且可能会发生堆栈问题。
Assign 分配 为文件分配名称Reset 重启 打开文件以供阅读Rewrite 改写 打开文件进行写入Append 附加 以追加模式打开文件
例程序实例61 ;
{用于演示SetTextBuf函数的程序。}
Var Fin,Fout : Text; Ch : Char; Bufin,Bufout : Array[1..10000] of byte;
begin Assign (Fin,paramstr(1)); Reset (Fin); Assign (Fout,paramstr(2)); Rewrite (Fout); { This is harmless before IO has begun } { Try this program again on a big file, after commenting out the following 2 lines and recompiling it. } SetTextBuf (Fin,Bufin); SetTextBuf (Fout,Bufout); While not eof(Fin) do begin Read (Fin,ch); write (Fout,ch); end; Close (Fin); Close (Fout);end.
相关阅读 >>
更多相关阅读请进入《Delphi》频道 >>