Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

open file, read a line then, rewind a line

Asked by Sam on 30 Nov 2012

after fgetl(fid), the file position indicatior will be moved to the next line in the file, how could I rewind the indicator back 1 line in the file so when I call fgetl(fid) the second time it would return the same line?

2 Comments

Azzi Abdelmalek on 30 Nov 2012

What is your goal?

Sam on 30 Nov 2012

say this is the text file i want to read

    my line 1
    my line 2
    my line 3
    my line 4

say after some steps, fgetl(fid) would return 'my line 3', then what should I do so when I call fgetl(fid) after this, it would still return 'my line 3'?

Sam

Products

No products are associated with this question.

1 Answer

Answer by Matt J on 30 Nov 2012
Edited by Matt J on 30 Nov 2012

Use FTELL to measure the position in bytes of each line. Then use FREWIND and/or FSEEK to go to the desired position.

1 Comment

Walter Roberson on 30 Nov 2012

Technical note:

If a file is opened with 'rt', which should be used for text files, then the value returned by ftell() is an arbitrary "token" rather than a file offset in bytes. Using the same token will get you to the same position, but you cannot do computations on the tokens.

Matt J

Contact us