mget — reads byte or word in a given binary format and convert to double
x=mget([n,type,fd]) x=mgeti([n,type,fd])
a positive scalar: The number of items to be read.
a scalar. The fd
parameter returned by the
function mopen
. -1 stands for last opened file.
Default value is -1.
a string. Give the binary format used to write all the entries of x.
a vector of floating point or integer type numbers
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"):
Note , 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:
double
float
long
int
short
character
Optional flag:
unsigned (in combination with one of the above types)
little endian (in combination with one of the above types)
big endian (in combination with one of the above types)
Bytes read are automatically swapped if necessary (by checking little=endian status).
This default swapping behavior can be suprressed by adding a flag in the mopen function.
Formats "l", "d", and "f" are only valid with the mget function.
file1 = 'test1.bin'; file2 = '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);