Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

fseek

ファイル内の指定位置に移動する

説明

fseek(fileID, offset, origin) は、指定されたファイルの origin から offset バイトの位置に位置指定子を設定します。

status = fseek(___) は、操作が正常に完了した場合に 0 を返します。それ以外の場合、fseek-1 を返します。前述の任意の入力引数の組み合わせを使用できます。

すべて折りたたむ

次の badpoem.txt ファイルを開き、読み取り操作を実行します (これにより位置ポインターが前に進む)。その後、seek を使用してファイル内の新しい位置に移動します。

fopen を使用してファイルを開きます。次に、ftell を使用して現在の位置をクエリします。

fid = fopen('badpoem.txt');
ftell(fid)
ans = 0

最初の 3 行を読み取り、それぞれの読み取り操作の後にファイル内の位置をクエリします。fgetl を使用して読み取り、読み取り操作後の現在の位置を fseek を使用して確認します。

tline1 = fgetl(fid)  % read the first line 
tline1 = 
'Oranges and lemons,'
ftell(fid)
ans = 20

2 行目を読み取り、現在の位置を確認します。

tline2 = fgetl(fid)  % read the second line 
tline2 = 
'Pineapples and tea.'
ftell(fid)
ans = 40

3 行目を読み取り、現在の位置を確認します。

tline3 = fgetl(fid)  % read the third line 
tline3 = 
'Orangutans and monkeys,'
ftell(fid)
ans = 64

2 行目を読み取るには、ファイル内の位置が 2 行目の先頭を指すように設定します。fseek を使用して位置を設定してから、読み取り操作を実行します。

fseek(fid,20,'bof');
fgetl(fid)
ans = 
'Pineapples and tea.'

ファイルを閉じます。

fclose(fid); 

入力引数

すべて折りたたむ

開いているファイルのファイル識別子。整数として指定します。fseek を使用する前に、fopen を使用してファイルを開き、その fileID を取得しなければなりません。

データ型: double

origin から移動するバイト数。整数として指定します。offset の値には、正負の値、あるいはゼロを指定できます。

データ型: double

ファイル内の開始位置。文字ベクトル、string スカラーまたはスカラー数として指定します。

'bof' または -1

ファイルの先頭

'cof' または 0

ファイル内での現在の位置

'eof' または 1

ファイルの終端

データ型: double | char | string

ヒント

  • ファイルに n バイトのデータがある場合、これらの n バイトは 0 から n-1 までの位置にあります。

代替方法

ファイルの先頭に移動するには、以下を呼び出します。

frewind(fileID)

この呼び出しは、以下と等価です。

fseek(fileID, 0, 'bof')

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する