@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:
h | Output is 2-digit hex (00 - FF) |
x | Output 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:
@FILECLOSE | Close a file handle |
@FILEOPEN | Open a file handle |
@FILESEEK | Move a file handle pointer |
@FILESEEKL | Move a file handle pointer to a specified line |
@FILEWRITE | Write next line to a file handle |
@FILEWRITEB | Write data to a file handle |
@TRUNCATE | Truncate the file at the current position of the file handle pointer. |