Scilab Function 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)
- b
: 0 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