フィルターのクリア

open file, read a line then, rewind a line

14 ビュー (過去 30 日間)
Sam
Sam 2012 年 11 月 30 日
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 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2012 年 11 月 30 日
What is your goal?
Sam
Sam 2012 年 11 月 30 日
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'?

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2012 年 11 月 30 日
編集済み: Matt J 2012 年 11 月 30 日
Use FTELL to measure the position in bytes of each line. Then use FREWIND and/or FSEEK to go to the desired position.
  1 件のコメント
Walter Roberson
Walter Roberson 2012 年 11 月 30 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLow-Level File I/O についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by