# Open and Write to Files (Obsolete)¶↑

ropen()
Syntax:

ropen("infile")

ropen()

Description:
Ropen() opens infile for reading. A subsequent ropen() with no arguments closes the previously opened infile. A file which is re-opened with ropen(infile) positions the stream at the beginning of the file.

Example:

proc r() {
ropen("file.dat")
for (i=0; i<ndat; i=i+1) {
x[i] = fscan()  y[i]=fscan()
}
ropen()
}

Diagnostics:
This function returns 0 if the file is not successfully opened.

Warning

There is no way to open more than one read file at a time. The same is true for write files.

wopen()
Syntax:

wopen("outfile)

wopen()

Description:
Wopen is similar to ropen but opens a file for writing. Contents of an already existing outfile are destroyed. Wopened files are written to with fprint(). With no argument, the previously wopened file is closed. Wopen returns 0 on failure to open a file.

Example:

proc w() {
wopen("file.dat")
for (i=0; i<ndat; i=i+1) {
fprint("%g %g\n", x[i], y[i])
}
wopen()
}


xopen()
Syntax:

xopen("hocfile")

xopen("hocfile", "RCSrevision")

Description:
Xopen() executes the commands in hocfile. This is a convenient way to define user functions and procedures. An optional second argument is the RCS revision number in the form of a string. The RCS file with that revision number is checked out into a temporary file and executed. The temporary file is then removed. A file of the same primary name is unaffected.

fprint()

Same as printf() but prints to a file opened with wopen(). If no file is opened it prints to the standard output.