The LINE INPUT # file statement reads an entire line from a text file into a string variable.
Syntax
LINE INPUT #fileNumber&, stringVariable$
Parameter(s)
- fileNumber& is the INTEGER number of the file previously opened with the OPEN statement.
- stringVariable$ holds the text line read from the file.
Description
- Reads a file using the fileNumber& OPENed in the INPUT (file mode) or BINARY file mode as one file line text string.
- NOTE: LINE INPUT (file statement) will work faster in BINARY mode than in INPUT (file mode) mode.
- Using LINE INPUT # in BINARY mode is possible in version 1.000 and up
- 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.
Error(s)
- If an “Input past End of file” error occurs, check for CHR$(26) (end of file character) in the files being read.
- Warning: files must exist to be opened in **INPUT mode. Use _FILEEXISTS to avoid program ERROR Codes.**
Example(s)
Finding the number of filenames listed in a file to dimension an array to hold them.
REDIM FileArray$(100) 'create dynamic array
SHELL _HIDE "DIR /B *.* > D0S-DATA.INF"
IF _FILEEXISTS("D0S-DATA.INF") THEN
OPEN "D0S-DATA.INF" FOR INPUT AS #1
DO UNTIL EOF(1)
LINE INPUT #1, file$ 'read entire text file line
filecount% = filecount% + 1
LOOP
CLOSE #1
END IF
REDIM FileArray$(filecount%)
PRINT filecount%
See Also
- OPEN, CLOSE
- INPUT (file mode), INPUT (file statement), INPUT$ (file input)
- INPUT, LINE INPUT, INPUT$ (keyboard input)
- _FILEEXISTS, _DIREXISTS
- FILELIST$ (member-contributed function replacement for FILES)