@FILEREADB[n,length[,h x]] : Reads length bytes of data from the file whose handle is n. Returns the string **EOF** if you attempt to read past the end of the file. The data will be returned as a string of space-separated numeric digits representing the ASCII value of each character.

 

The optional third parameter (h or x) species the output format:

 

hOutput is 2-digit hex (00 - FF)
xOutput is 0x00 - 0xFF)

 

Numeric input may be entered in either decimal format (a sequence of 0-9 digits) or in hexadecimal format ("0x" followed by a sequence of 0-F hex digits).

 

This function should only be used with file handles returned by @FILEOPEN. If you use it with any other number you may damage other files opened by TCC-RT (or by the program which started TCC-RT).

 

Beware of characters with special meaning to TCC-RT, such as redirection and piping symbols, within the file. Use SETDOS /X with appropriate codes as needed.

 

Example:

 

set h=%@fileopen["d:\path\myfile.txt",r]

echo reading %@filereadb[%h,32]

echo closing handle #%h: %@fileclose[%h]

 

See also the related handle-based functions:

 

@FILECLOSEClose a file handle
@FILEOPENOpen a file handle
@FILESEEKMove a file handle pointer
@FILESEEKLMove a file handle pointer to a specified line
@FILEWRITEWrite next line to a file handle
@FILEWRITEBWrite data to a file handle
@TRUNCATETruncate the file at the current position of the file handle pointer.