Scroll to navigation

GOLF(2gg) Development GOLF(2gg)

NAME

read-line - (files)

PURPOSE

Read text file line by line in a loop.

SYNTAX

read-line <file> to <line content> [ status <status> ] [ delimiter <delimiter> ] 
<any code>
end-read-line

DESCRIPTION

read-line starts the loop in which a text <file> is read line by line into string <line content>, with end-read-line ending this loop. Once the end of <file> has been reached, or an error occurs, the loop exits.

<file> can be a full path name, or a path relative to the application home directory (see directories).

<status> number will be GG_ERR_READ if there is an error in reading file, or GG_ERR_OPEN if file cannot be opened, or GG_OKAY if end-of-file has been reached. Check for error after end-read-line statement. If a line was read successfully, then <status> is its length.

<line content> is allocated when a line is read and freed just before the next line is read or if there are no more lines to read. If you want to use <line content> outside of this scope, save it or stash it somewhere first.

String <delimiter> separates the lines in the file, and is by default new line, however it can be any character (note that it is a first character of string <delimiter>).

A new line (or a <delimiter>) remains in <line content> if it was present in the file (note that the very last line may not have it).

Use break-loop and continue-loop statements to exit and continue the loop.

EXAMPLES

To read a text file line by line, and display as a web page with line breaks:

read-line "/home/bear/tmp/ll/filexx" to one_line status st

string-length one_line to line_len
@Line length is <<print-out line_len>>, line is <<p-web one_line>> status <<print-out st>><br/> end-read-line if-true st lesser-than 0
get-req error to err
@Error in reading, error [<<print-out err>>] end-if

To read a text file delimited by "|" character:

read-line "/home/user/dir/file" to one_line status len delimiter '|'
...

SEE ALSO


Files

change-mode close-file copy-file delete-file file-position file-storage file-uploading lock-file open-file read-file read-line rename-file stat-file temporary-file uniq-file unlock-file write-file See all documentation

$VERSION $DATE