fseek
ファイル内の指定位置に移動する
説明
例
ファイル内の新しい位置への移動
次の 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);
入力引数
fileID
— ファイル識別子
整数
開いているファイルのファイル識別子。整数として指定します。fseek
を使用する前に、fopen
を使用してファイルを開き、その fileID
を取得しなければなりません。
データ型: double
offset
— バイト数
整数
origin
から移動するバイト数。整数として指定します。offset
の値には、正負の値、あるいはゼロを指定できます。
データ型: double
origin
— 開始位置
整数 | 文字ベクトル | string
ファイル内の開始位置。文字ベクトル、string スカラーまたはスカラー数として指定します。
| ファイルの先頭 |
| ファイル内での現在の位置 |
| ファイルの終端 |
データ型: double
| char
| string
ヒント
ファイルに
n
バイトのデータがある場合、これらのn
バイトは0
からn-1
までの位置にあります。
代替方法
ファイルの先頭に移動するには、以下を呼び出します。
frewind(fileID)
この呼び出しは、以下と等価です。
fseek(fileID, 0, 'bof')
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
MATLAB® の動作が C コンパイラの動作と異なるときは、生成されたコードは C コンパイラの動作と一致します。例として、以下が挙げられます。
ファイルの末尾を越えて探索した場合。
追加アクセスで開いたファイルの末尾を越えて探索した場合。
オフセットは符号付きの long データ型として C の実行時環境に渡されます。そのため、オフセット値はターゲット ハードウェアで long データ型に格納できなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入R2022b: スレッドベースの環境での関数の使用
この関数はスレッドベースの環境をサポートしています。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)