LOF

From QB64 Phoenix Edition Wiki
Revision as of 07:46, 6 January 2023 by Offbyone (talk | contribs) (Add information on HTTP handles)
Jump to navigation Jump to search

The LOF function is used to find the length of an OPEN file in bytes, or content length of an HTTP response.


Syntax

totalBytes& = LOF([#]fileNumber)
totalBytes& = LOF([#]httpHandle)


Description

  • For regular OPENed files:
    • LOF returns the number of bytes in an OPENed designated fileNumber. File is empty if it returns 0.
    • fileNumber is the number of the opened file. # is not required.
    • Often used to determine the number of records in a RANDOM access file.
    • Can also be used to avoid reading an empty file, which would create an error.
    • LOF in QB64 can return up to 9 GB (9,223,372,036 bytes) file sizes.
  • For HTTP handles opened using _OPENCLIENT:
    • LOF returns the length listed in the Content-Length header of the HTTP response.
    • If no Content-Length header was provided on the HTTP response, then LOF return -1

Examples

Example: Finding the number of records in a RANDOM file using a TYPE variable.

  OPEN file$ FOR RANDOM AS #1 LEN = LEN(Type_variable)
  NumRecords% = LOF(1) \ RecordLEN%

Example: Reading the Content length of an HTTP response

$UNSTABLE:Http
h& = _OPENCLIENT("HTTP:https://qb64phoenix.com")
PRINT LOF(h&)

See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link