WRITE# statement

Purpose | Output data to a sequential file in a delimited format.
Syntax | WRITE #filenum& WRITE #filenum&, [expression [{;|,} expression] ...] [;|,]
filenum& | The file number used when the file or device was opened.
expression | A numeric or a string expression representing the data to be written to the file or device.

Remarks

WRITE# is similar to PRINT#, except WRITE# inserts a comma in the output file between each expression. It encloses

data within quotation marks, and adds no leading or trailing spaces around numeric values.

WRITE# is the preferred method of writing data to a sequential file, since it formats the output to be readable by the INPUT# statement. In other words, INPUT# respects the delimiter characters that separate items in a line of text, as created by WRITE#.

WRITE# with a file number and a comma but no expressions, outputs a carriage return to the file.

To read a delimited file without regard to the delimiter characters, use the LINE INPUT# statement.

Restrictions | For best results, strings should not contain quotation marks, as these may interfere with the expected output format. Each expression in the WRITE# statement must be separated from other expressions by a comma or semicolon. If you include a trailing comma or semicolon, the final carriage return / line feed is suppressed and replaced with a comma delimiter. This allows you to append data to the sequential record by executing another WRITE statement.
See also | GET, GET$, GET$$, INPUT#, LINE INPUT#, OPEN, PRINT#, PUT, PUT$, PUT$$, SETEOF

Example

' Open a sequential output file and write to it

OPEN "FILE.TXT" FOR OUTPUT AS #1

WRITE #1, "TEST"

z& = -12345&

info1$ = "Do not covet"

info2$ = "thy neighbors ox"

WRITE #1, z&, info1$, info2$

WRITE #1, "TEST"

CLOSE #1

Result | "TEST" -12345,"Do not covet","thy neighbors ox" "TEST"