Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function
mget
reads byte or word in a given binary format and converts to a double type
mgeti
reads byte or word in a given binary format and returns an int type
Syntax
x = mget([n, type, fd]) x = mgeti([n, type, fd])
Arguments
- n
a positive integer scalar: the number of items to be read.
- fd
a scalar: a file descriptor returned by the function
mopen
.-1
stands for last opened file. Default value is-1
.- type
a string: the binary format used to write all the entries of
x
.- x
a vector of floating point or integer numbers.
Description
The mget
function reads data in the input
specified by the stream parameter fd
and returns a
vector of floating point data.
The mgeti
function reads data in the input
specified by the stream parameter fd
and returns a
vector of integer data.
Data is read at the position at which the file pointer is currently pointing and advances the indicator appropriately.
The type
parameter is a conversion specifier
which may be set to any of the following flag characters (with default
value "l"
):
On Windows, default behavior is to skip byte 13 ( 0x0D ).
mopen should be called with the
'b' option, e.g.
fd1 = mopen(file1,'rb') , so that all bytes will be read
without exception. |
Data type:
- d
double
- f
float
- l
long long int
- i
int or long int
- s
short
- c
character
Optional flag:
- u..
unsigned (in combination with one of the above types)
- ..l
little endian (in combination with one of the above types)
- ..b
big endian (in combination with one of the above types)
Bytes read is automatically swapped if necessary (by checking
little=endian
status).
This default swapping behavior can be suppressed by adding a flag in
the mopen
function.
Formats "l"
, "d"
and
"f"
are only valid with the
mget
function.
Examples
file1 = fullfile(TMPDIR,'test1.bin'); file2 = fullfile(TMPDIR,'test2.bin'); fd1=mopen(file1,'wb'); fd2=mopen(file2,'wb'); mput(1996,'ull',fd1); mput(1996,'ull',fd2); mclose(fd1); mclose(fd2); fd1=mopen(file1,'rb'); if 1996<>mget(1,'ull',fd1) write(%io(2),'Bug'); end fd2=mopen(file2,'rb'); if 1996<>mget(1,'ull',fd2) write(%io(2),'Bug'); end mclose(fd1); mclose(fd2);
See also
- mclose — closes an opened file
- 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
- mgetl — reads lines from an text file
- mgetstr — reads a character string from a file
- mopen — opens a file in Scilab
- 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 | ||
<< mfscanf | Files : Input/Output functions | mgetl >> |