The '''LINE INPUT #''' file statement reads an entire file line as one string variable value. {{PageSyntax}} :: '''LINE INPUT''' '''#'''''filenumber&''''',''' ''textlinereturn$'' {{Parameters}} * ''filenumber'' is the [[INTEGER]] number of the file previously opened [[AS]]. * Statement [[STRING]] variable returns ''text line'' of the file being read ending at [[ASCII#Control_Characters|CRLF]] characters. ''Description:'' * Reads a file using the filenumber [[OPEN]]ed in the [[INPUT (file mode)]] or GL [[BINARY]] file mode as one file line text string. * Can be used with [[EOF]] to count the number of lines of data (records) in a file using a loop. * Use the [[EOF]] function to avoid going past the end of a file and creating an error. * LINE INPUT # can even retain the original quotation marks in text. * '''Note: QB64''' will NOT remove CHR$(0) from the end of LINE INPUT # string return values like Qbasic did. * '''NOTE: [[LINE INPUT (file statement)|LINE INPUT]] will work faster in [[BINARY]] than [[INPUT (file mode)|INPUT]] mode in QB64 to stay compatible with QB.''' {{PageErrors}} * '''If QB64 or QB 4.5 give "Input past End of file" errors, check for CHR$(26) in the files being read!''' * '''Warning! Files must exist to open them in INPUT mode! Use [[_FILEEXISTS]] to avoid program [[ERROR Codes|errors]]!''' ''Example:'' Finding the number of filenames listed in a file to dimension an array to hold them. {{CodeStart}} '' '' {{Cl|REDIM}} FileArray$(100) 'create {{Cl|$DYNAMIC|dynamic}} array {{Cl|SHELL}} {{Cl|_HIDE}} "DIR /B *.* > D0S-DATA.INF" {{Cl|IF...THEN|IF}} {{Cl|_FILEEXISTS}}("D0S-DATA.INF") THEN {{Cl|OPEN}} "D0S-DATA.INF" FOR {{Cl|INPUT (file mode)|INPUT}} AS #1 DO UNTIL {{Cl|EOF}}(1) {{Cl|LINE INPUT}} #1, file$ 'read entire text file line filecount% = filecount% + 1 LOOP {{Cl|CLOSE}} #1 {{Cl|END IF}} {{Cl|REDIM}} FileArray$(filecount%) {{Cl|PRINT}} filecount% '' '' {{CodeEnd}} ''See also:'' * [[OPEN]], [[CLOSE]] * [[INPUT (file mode)]], [[INPUT (file statement)|INPUT #]], [[INPUT$]] {{text|(file input)}} * [[INPUT]], [[LINE INPUT]], [[INPUT$]] {{text|(keyboard input)}} * [[_FILEEXISTS]], [[_DIREXISTS]] * [[FILELIST$]] (Function replacement for [[FILES]]) {{PageNavigation}}