file

file — file management

Calling sequence

[unit [,err]]=file('open', file-name [,status] [,access [,recl]] [,format])  
file(action,unit)  
[units [,typ [,nams [,mod [,swap]]]]] = file([unit])  

Parameters

file-name : string, file name of the file to be opened
status

: string, The status of the file to be opened

"new": file must not exist new file (default)
"old": file must already exists.
"unknown": unknown status
"scratch": file is to be deleted at end of session
access

: string, The type of access to the file

"sequential" : sequential access (default)
"direct" : direct access.
format

: string,

"formatted" : for a formatted file (default)
"unformatted" : binary record.
recl : integer,is the size of records in bytes when access="direct"
unit : integer, logical unit descriptor of the opened file
units : integer vector, logical unit descriptor of the opened files. Units 1 5 and 6 are reserved by the system for history file , input and output devices.
typs : Character string vector, type (C or Fortran) of opened files.
nams : Character string vector, pathnames of opened files.
mod

: file opening mode. Formed by three digits abc

Fortran files
a: 0 stands for formatted and 1 for unformatted (binary)
b0 stands for sequential acces and 1 for direct access
c: 0 stands for "new", 1 for "old", 2 for "scratch" and 3 for "unknown"
C files
a : is 1 if file has been opened with a "b" (binary) mode
b : is 1 if file has been opened with a "+" (updating) mode
c : 1 stands for "r" (read), 2 stands for "w" (write) and 3 for "a" (append)
swap: automatic swap switch. swap=1 if automatic swap is on. swap is always 0 for Fortran files.
err : integer, error message number (see error), if open fails. If err is omitted an error message is issued.
action

: is one of the following strings:

"close" : closes the file(s) given by the logical unit descriptors given in units
"rewind" : puts the pointer at beginning of file
"backspace" : puts the pointer at beginning of last record.
"last" : puts the pointer after last record.

Description

selects a logical unit unit and manages the file file-name.

[unit [,err]]=file('open', file-name [,status] [,access [,recl]] [,format]) allows to open a file with specified properties and to get the associated unit number unit. This unit number may be used for further actions on this file or as file descriptor in read, write, readb, writb,save, load function calls.

file(action,unit) allows to close the file , or move the current file pointer .

file() returns the logical unit descriptors of the opened files. So file('close',file() ) closes all user opened files (C or Fortran type).

Examples



u=file('open',TMPDIR+'/foo','unknown')
for k=1:4
  a=rand(1,4)
  write(u,a)
end
file('rewind',u)
x=read(u,2,4)
file('close',u)
//
u1=file('open',TMPDIR+'/foo','unknown')
u2=mopen(TMPDIR+'/foo1','wb')
[units,typs,nams]=file()
 
  

See also

save, load, write, read, writb, readb, xgetfile, mopen, mclose