FSEEK Seek File To A Given Position
Section: Input/Ouput Functions
UsageMoves the file pointer associated with the given file handle to the specified offset (in bytes). The usage is
handle argument must be a value and active file handle. The
offset parameter indicates the desired seek offset (how much the
file pointer is moved in bytes). The
style parameter determines
how the offset is treated. Three values for the
'bof'or the value -1, which indicate the seek is relative to the beginning of the file. This is equivalent to
SEEK_SETin ANSI C.
'cof'or the value 0, which indicates the seek is relative to the current position of the file. This is equivalent to
SEEK_CURin ANSI C.
'eof'or the value 1, which indicates the seek is relative to the end of the file. This is equivalent to
SEEK_ENDin ANSI C.
ExampleThe first example reads a file and then ``rewinds'' the file pointer by seeking to the beginning. The next example seeks forward by 2048 bytes from the files current position, and then reads a line of 512 floats.
--> % First we create the file --> fp = fopen('test.dat','wb'); --> fwrite(fp,float(rand(4096,1))); --> fclose(fp); --> % Now we open it --> fp = fopen('test.dat','rb'); --> % Read the whole thing --> x = fread(fp,[1,inf],'float'); --> % Rewind to the beginning --> fseek(fp,0,'bof'); --> % Read part of the file --> y = fread(fp,[1,1024],'float'); --> who x y Variable Name Type Flags Size x double [1 4096] y double [1 1024] --> % Seek 2048 bytes into the file --> fseek(fp,2048,'cof'); --> % Read 512 floats from the file --> x = fread(fp,[512,1],'float'); --> % Close the file --> fclose(fp);