mput
writes byte or word in a given binary format
Syntax
mput(x [, type, fd])
Arguments
- x
a vector of floating point or integer type numbers
- fd
a scalar: a file descriptor returned by the function
mopen.-1stands for last opened file. Default value is-1.- type
a string: 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 type 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 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 = 0in themopenfunction.- "..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 atypespecification. For example"db"will write a double in big-endian mode.
Examples
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 — closes opened files
- 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 — parses numbers in a binary file and returns them as decimals
- mgetl — reads lines from an text file
- mgetstr — reads a character string from a file
- mopen — opens files in Scilab
- mprintf — converts, formats, and writes data to the main scilab window
- mputl — writes strings in a text file
- mputstr — write a single text in an open 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 | ||
| << mopen | Entrées/Sorties [fichiers] | mputl >> |