Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
mopen
opens a file in Scilab
Syntax
[fd, err] = mopen(file [, mode, swap ])
Arguments
- file
a character string containing the path of the file to open.
- mode
a character string specifying the access mode requested for the file.
- swap
a scalar. If
swap
is present andswap = 0
then automatic bytes swap is disabled.The default value is 1.
- err
a scalar. Error indicator.
error value: error message: 0 No error -1 no more logical units -2 cannot open file -3 no more memory -4 invalid name -5 invalid status - fd
a scalar: a file descriptor (it's a positive integer).
Description
mopen
may be used to open a file
in a way
compatible with the C fopen
procedure. Without
swap
argument the file
is supposed to be coded in "little endian IEEE
format" and data are swapped if necessary to match the IEEE format of
the processor.
The mode
parameter controls the access type requested for
the stream. The parameter can have one of the following values:
- r
opens for reading (default). The file must exist, otherwise it fails.
- w
opens for writing. If the file exists, its contents are destroyed.
- a
opens for appending. It creates the file if it does not exist.
- r+
opens for both reading and writing. The file must exist, otherwise it fails.
- w+
opens for both reading and writing. If the file exists, its contents are destroyed.
- a+
opens for both reading and appending. It creates the file if it does not exist.
In addition, the following characters can be used to specify the type of file:
- t
text file.
- b
binary file (default).
The default access mode is 'rb'
(binary
file reading).
Note: on Windows, in text file mode, CR (carriage
return) - LF (linefeed) combinations are translated into
LF on reading, and LF are translated to CR-LF
combinations on writing. |
When you open a file for update, you can perform both input and output
operations on the resulting stream. However, an output operation cannot
be directly followed by an input operation without a file-positioning
operation (mseek
function). Also, an input
operation cannot be directly followed by an output operation without an
intervening file positioning operation, unless the input operation
encounters the end of the file.
When you open a file for append (that is, when the
mode
parameter is a
or
a+
), it is impossible to overwrite information
already in the file. You can use the mseek
function to reposition the file pointer to any position in the file,
but when output is written to the file, the current file pointer is
ignored. All output is written at the end of the file and the file
pointer is repositioned to the end of the output.
To open files in a way compatible with Fortran-like functions use function file
.
Examples
// open a SCI+'/ACKNOWLEDGEMENTS' as text and read only fd_r = mopen(SCI+'/ACKNOWLEDGEMENTS', 'rt') // read five lines of fd_r mgetl(fd_r, 5) // another way to read file // here read five words mfscanf(5, fd_r, '%s') // close file descriptor associated to SCI+'/ACKNOWLEDGEMENTS' as text and read only mclose(fd_r);
// read/write a file as binary // first we write file fd_wb = mopen(TMPDIR+'/writeread.bin', 'wb') // put values as binary mput(2003, 'l', fd_wb); mput(2008, 'i', fd_wb); mput(2012, 's', fd_wb); mput(98, 'c', fd_wb); // close file descriptor associated to TMPDIR+'/writeread.bin' mclose(fd_wb); // we read file fd_rb = mopen(TMPDIR+'/writeread.bin', 'rb') mget(fd_rb, 'l') mget(fd_rb, 'i') mget(fd_rb, 's') mget(fd_rb, 'c') mclose(fd_rb)
See also
- file — file management
- mclose — closes an opened file
- merror — tests the file access errors indicator
- meof — checks if end of file has been reached
- mfprintf — converts, formats, and writes data to a file
- fprintfMat — writes a matrix in a file
- mfscanf — reads input from the stream pointer stream (interface to the C fscanf function)
- fscanfMat — reads a matrix from a text file
- mget — reads byte or word in a given binary format and converts to a double type
- mgetl — reads lines from an text file
- mgetstr — reads a character string from a file
- mprintf — converts, formats, and writes data to the main scilab window
- mput — writes byte or word in a given binary format
- mputl — writes strings in a text file
- mputstr — writes a character string in a file
- mseek — sets current position in a binary file
- mtell — Returns the offset of the current byte relative to the beginning of a file
- mdelete — deletes file(s)
Report an issue | ||
<< mgetstr | Entrées/Sorties [fichiers] | mput >> |