writes byte or word in a given binary format
mput(x [, type, fd])
a vector of floating point or integer type numbers
a scalar: a file descriptor returned by the function mopen. -1
stands for last opened file. Default value is
-1.
a string: the binary format used to write all the entries of x.
The mput function writes data to the output specified by the
stream parameter fd. Data is written 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"):
for writing respectively a long long, an int (long
int), a short, an unsigned long long int, an unsigned int (long int), an unsigned short, a double, a float, a char and an unsigned char. The bytes which are wrote are automatically swapped if necessary (by checking little-endian status) in order to produce machine independent binary files (in little-endian mode). This default swapping mode can be suppressed by adding a flag swap = 0 in the mopen function.
It is also possible to write in little-endian or big-endian
mode by adding a "l" or
"b" character at the end of a
type specification. For example
"db" will write a double in big-endian mode.
filen = 'test.bin'; mopen(filen,'wb'); mput(1996,'l');mput(1996,'i');mput(1996,'s');mput(98,'c'); // force little-endian mput(1996,'ll');mput(1996,'il');mput(1996,'sl');mput(98,'cl'); // force big-endian mput(1996,'lb');mput(1996,'ib');mput(1996,'sb');mput(98,'cb'); mclose(); mopen(filen,'rb'); if 1996<>mget(1,'l') then pause,end if 1996<>mget(1,'i') then pause,end if 1996<>mget(1,'s') then pause,end if 98<>mget(1,'c') then pause,end // force little-endian if 1996<>mget(1,'ll') then pause,end if 1996<>mget(1,'il') then pause,end if 1996<>mget(1,'sl') then pause,end if 98<>mget(1,'cl') then pause,end // force big-endian if 1996<>mget(1,'lb') then pause,end if 1996<>mget(1,'ib') then pause,end if 1996<>mget(1,'sb') then pause,end if 98<>mget(1,'cb') then pause,end mclose(); | ![]() | ![]() |