Line Input #

Reads one line of text from a file

Syntax
   Line Input #file number, string_variable_1
      or
   Line Input #file number, string_variable_2 , max_length

Parameters
   file number
      file number of an file opened for Input
   string_variable_1
      variable-length or fixed_length (and known) string, to receive the 
      line of text
   string_variable_2
      dereferenced {z|w}string pointer or {z|w}string variable passed by 
      reference (string buffer size unknown for both), to receive the line 
      of text
   max_length
      maximum number of characters allowed to be written to the string 
      buffer, including the NULL terminator

Description
   Reads a line from an open text file (opened for Input through a bound 
   file number) and stores it in a string variable.  

   A line of text ends at, but does not include the end of line characters. 
   An end of line character may be the LF character (Chr(10)) or the CRLF 
   character pair (Chr(13,10)).

   Two syntaxes are available:
      * The first syntax is only allowed when the string buffer size 
        (provided by string_variable_1) is either variable or fixed (and 
        known).
      * The second syntax with max_length parameter is only allowed when 
        the string buffer size (provided by string_variable_2) is unknown. 
        This happens for dereferenced ZString/WString pointers, or ZString/
        WString variables passed by reference. This can used to truncate 
        the text line to be read, or avoid overflowing beyond allocated 
        data of the provided string buffer.

Example
   Open "myfile.txt" For Output As #1
   Print #1, "Hello, World"
   Close #1

   Dim s As String
   Open "myfile.txt" For Input As #1
   Line Input #1, s
   Close #1
   Print "'" & s & "'"

   Const maxlength = 6  '' max 5 characters plus 1 null terminal character
   Dim pz As ZString Ptr = CAllocate(maxlength, SizeOf(ZString))
   Open "myfile.txt" For Input As #1
   Line Input #1, *pz, maxlength
   Close #1
   Print "'" & *pz & "'"
   Deallocate(pz)

Version
   * Before fbc 1.10.0, the second syntax (with max_length parameter) was 
     not supported.

Differences from QB
   * None

See also
   * Line Input
   * Input #
   * Open
   * Input (File Mode)

