-
Declaration:
- Procedure SetTextBuf (Var f : Text; Var Buf[; Size : Word]);
-
Description:
- SetTextBuf assigns an I/O buffer to a text file. The new buffer is located at Buf and is Size
bytes long. If Size is omitted, then SizeOf(Buf) is assumed. The standard buffer of any text file is
128 bytes long. For heavy I/O operations this may prove too slow. The SetTextBuf procedure
allows to set a bigger buffer for the IO of the application, thus reducing the number of system calls,
and thus reducing the load on the system resources. The maximum size of the newly assigned
buffer is 65355 bytes.
Remark:
- Never assign a new buffer to an opened file. A new buffer can be assigned immediately
after a call to Rewrite (559), Reset (558) or Append, but not after the file was read
from/written to. This may cause loss of data. If a new buffer must be assigned after
read/write operations have been performed, the file should be flushed first. This will
ensure that the current buffer is emptied.
- Take care that the assigned buffer is always valid. If a local variable is assigned as a
buffer, then after the program exits the local program block, the buffer will no longer
be valid, and stack problems may occur.
-
Errors:
- No checking on Size is done.
-
See also:
- Assign (455), Reset (558), Rewrite (559), Append (452)
Listing: refex/ex61.pp