1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
mput Scilab Group Scilab Function mput
NAME
mput - writes byte or word in a given binary format
CALLING SEQUENCE
mput(x [,type,fd])
PARAMETERS
x : a vector of floating point or integer type numbers
fd : scalar. The fd parameter returned by the function. Default
value is -1 which stands for the last (mopen) opened file.
type : a string. Give the binary format used to write all the
entries of x.
DESCRIPTION
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 tye parameter is a conversion specifier which may be set to any of
the following flag characters (with default value "l"):
"l","i","s","ul","ui","us","d","f","c","uc"
: for writing respectively a long, an int, a short, an unsigned long, an
unsigned 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 in
the mopen function.
"..l" or "..b"
: 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.
EXAMPLE
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();
SEE ALSO
mclose, meof, mfprintf, fprintfMat, mfscanf, fscanfMat, mget, mgetstr,
mopen, mprintf, mput, mputstr, mscanf, mseek, mtell
|