- Scilab Online Help
- Files : Input/Output functions
- basename
- chdir
- copyfile
- createdir
- deletefile
- dir
- dirname
- dispfiles
- fileext
- fileinfo
- fileparts
- filesep
- findfiles
- fprintf
- fprintfMat
- fscanf
- fscanfMat
- fullfile
- fullpath
- get_absolute_file_path
- getdrives
- getlongpathname
- getrelativefilename
- getshortpathname
- %io
- isdir
- isfile
- listfiles
- listvarinfile
- ls
- maxfiles
- mclearerr
- mclose
- mdelete
- meof
- merror
- mfprintf
- mscanf
- mget
- mgetl
- mgetstr
- mkdir
- mopen
- movefile
- mput
- mputl
- mputstr
- mseek
- mtell
- newest
- pathconvert
- pathsep
- pwd
- removedir
- rmdir
- save_format
- scanf
- scanf_conversion
- sscanf
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
mseek
set current position in binary file.
Calling Sequence
mseek(n [,fd, flag])
Arguments
- n
a positive scalar: The offset from origin in number of bytes.
- fd
scalar. The
fd
parameter returned by the functionmopen
. -1 stands for last opened file. Default value is -1.- flag
a string. specifies the origin. Default value 'set'.
Description
The function mseek()
sets the position of the next input or output operation
on the stream fd
. The new position is at
the signed distance given by n
bytes from the beginning, from
the current position, or from the end of the file, according to the
flag
value which can be 'set'
, 'cur'
or 'end'
.
mseek()
allows the file position indicator to be set beyond
the end of the existing data in the file. If data is later
written at this point, subsequent reads of data in the gap
will return zero until data is actually written into the
gap. mseek()
, by itself, does not extend the size of the
file.
Examples
file3='test3.bin' fd1= mopen(file3,'wb'); for i=1:10, mput(i,'d'); end mseek(0); mput(678,'d'); mseek(0,fd1,'end'); mput(932,'d'); mclose(fd1) fd1= mopen(file3,'rb'); res=mget(11,'d') res1=[1:11]; res1(1)=678;res1($)=932; if res1<>res ;write(%io(2),'Bug');end; mseek(0,fd1,'set'); // trying to read more than stored data res1=mget(100,'d',fd1); if res1<>res ;write(%io(2),'Bug');end; meof(fd1) mclearerr(fd1) mclose(fd1);
See Also
<< mputstr | Files : Input/Output functions | mtell >> |