summaryrefslogtreecommitdiff
path: root/fatfs/doc/ja/lseek.html
diff options
context:
space:
mode:
Diffstat (limited to 'fatfs/doc/ja/lseek.html')
-rw-r--r--fatfs/doc/ja/lseek.html76
1 files changed, 38 insertions, 38 deletions
diff --git a/fatfs/doc/ja/lseek.html b/fatfs/doc/ja/lseek.html
index 5578852..88e1ab2 100644
--- a/fatfs/doc/ja/lseek.html
+++ b/fatfs/doc/ja/lseek.html
@@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="up" title="FatFs" href="../00index_j.html">
<link rel="alternate" hreflang="en" title="English" href="../en/lseek.html">
@@ -13,28 +13,28 @@
<div class="para func">
<h2>f_lseek</h2>
-<p>ファイルのリード/ライト・ポインタを移動します。また、高速シーク機能使用時にはCLMT(後述)の作成にも使用します。</p>
+<p>繝輔ぃ繧、繝ォ縺ョ繝ェ繝シ繝/繝ゥ繧、繝 繝昴う繝ウ繧ソ繧堤ァサ蜍輔@縺セ縺吶ゅ∪縺溘鬮倬溘す繝シ繧ッ讖溯ス菴ソ逕ィ譎ゅ↓縺ッCLMT(蠕瑚ソー)縺ョ菴懈舌↓繧ゆスソ逕ィ縺励∪縺吶</p>
<pre>
FRESULT f_lseek (
- FIL* <span class="arg">fp</span>, <span class="c">/* [IN] ファイル・オブジェクト構造体へのポインタ */</span>
- DWORD <span class="arg">ofs</span> <span class="c">/* [IN] 移動先オフセット */</span>
+ FIL* <span class="arg">fp</span>, <span class="c">/* [IN] 繝輔ぃ繧、繝ォ 繧ェ繝悶ず繧ァ繧ッ繝域ァ矩菴薙∈縺ョ繝昴う繝ウ繧ソ */</span>
+ DWORD <span class="arg">ofs</span> <span class="c">/* [IN] 遘サ蜍募医が繝輔そ繝繝 */</span>
);
</pre>
</div>
<div class="para arg">
-<h4>引数</h4>
+<h4>蠑墓焚</h4>
<dl class="par">
<dt>fp</dt>
-<dd>対象となるファイル・オブジェクト構造体へのポインタを指定します。</dd>
+<dd>蟇セ雎。縺ィ縺ェ繧九ヵ繧。繧、繝ォ 繧ェ繝悶ず繧ァ繧ッ繝域ァ矩菴薙∈縺ョ繝昴う繝ウ繧ソ繧呈欠螳壹@縺セ縺吶</dd>
<dt>ofs</dt>
-<dd>移動先のオフセット(リード/ライト・ポインタ)値。ファイル先頭からのオフセットをバイト単位で指定します。</dd>
+<dd>遘サ蜍募医ョ繧ェ繝輔そ繝繝(繝ェ繝シ繝/繝ゥ繧、繝 繝昴う繝ウ繧ソ)蛟、縲ゅヵ繧。繧、繝ォ蜈磯ュ縺九i縺ョ繧ェ繝輔そ繝繝医r繝舌う繝亥腰菴阪〒謖螳壹@縺セ縺吶</dd>
</dl>
</div>
<div class="para ret">
-<h4>戻り値</h4>
+<h4>謌サ繧雁、</h4>
<p>
<a href="rc.html#ok">FR_OK</a>,
<a href="rc.html#de">FR_DISK_ERR</a>,
@@ -48,82 +48,82 @@ FRESULT f_lseek (
<div class="para desc">
-<h4>解説</h4>
-<p>ファイルのリード/ライト・ポインタ(次に読み出し・書き込みされるバイトのオフセット)を移動します。オフセットの原点はファイル先頭です。書き込みモードでファイル・サイズより大きな値を指定すると、そこまでファイル・サイズが拡張され、拡張された部分のデータは未定義となります。データを遅延無く高速に書き込みたいときは、予めこの関数で必要なサイズまでファイル・サイズを拡張しておくと良いでしょう。<tt>f_lseek()</tt>が正常終了したあとは、リード/ライト・ポインタが正しく移動したかチェックするべきです。リード/ライト・ポインタが指定より小さいときは、次の原因が考えられます。</p>
+<h4>隗」隱ャ</h4>
+<p>繝輔ぃ繧、繝ォ縺ョ繝ェ繝シ繝/繝ゥ繧、繝 繝昴う繝ウ繧ソ(谺。縺ォ隱ュ縺ソ蜃コ縺励サ譖ク縺崎セシ縺ソ縺輔l繧九ヰ繧、繝医ョ繧ェ繝輔そ繝繝)繧堤ァサ蜍輔@縺セ縺吶ゅが繝輔そ繝繝医ョ蜴溽せ縺ッ繝輔ぃ繧、繝ォ蜈磯ュ縺ァ縺吶よ嶌縺崎セシ縺ソ繝「繝シ繝峨〒繝輔ぃ繧、繝ォ 繧オ繧、繧コ繧医j螟ァ縺阪↑蛟、繧呈欠螳壹☆繧九→縲√◎縺薙∪縺ァ繝輔ぃ繧、繝ォ 繧オ繧、繧コ縺梧僑蠑オ縺輔l縲∵僑蠑オ縺輔l縺滄Κ蛻縺ョ繝繝シ繧ソ縺ッ譛ェ螳夂セゥ縺ィ縺ェ繧翫∪縺吶ゅョ繝シ繧ソ繧帝≦蟒カ辟。縺城ォ倬溘↓譖ク縺崎セシ縺ソ縺溘>縺ィ縺阪ッ縲∽コ医a縺薙ョ髢「謨ー縺ァ蠢隕√↑繧オ繧、繧コ縺セ縺ァ繝輔ぃ繧、繝ォ 繧オ繧、繧コ繧呈僑蠑オ縺励※縺翫¥縺ィ濶ッ縺縺ァ縺励g縺縲<tt>f_lseek()</tt>縺梧ュ」蟶ク邨ゆコ縺励◆縺ゅ→縺ッ縲√Μ繝シ繝/繝ゥ繧、繝 繝昴う繝ウ繧ソ縺梧ュ」縺励¥遘サ蜍輔@縺溘°繝√ぉ繝繧ッ縺吶k縺ケ縺阪〒縺吶ゅΜ繝シ繝/繝ゥ繧、繝 繝昴う繝ウ繧ソ縺梧欠螳壹h繧雁ー上&縺縺ィ縺阪ッ縲∵ャ。縺ョ蜴溷屏縺瑚縺医i繧後∪縺吶</p>
<ul>
-<li>非書き込みモードまたは高速シーク・モードのため、ファイル・サイズでクリップされた。</li>
-<li>ファイル拡張中にディスクが満杯になった。</li>
+<li>髱樊嶌縺崎セシ縺ソ繝「繝シ繝峨∪縺溘ッ鬮倬溘す繝シ繧ッ 繝「繝シ繝峨ョ縺溘a縲√ヵ繧。繧、繝ォ 繧オ繧、繧コ縺ァ繧ッ繝ェ繝繝励&繧後◆縲</li>
+<li>繝輔ぃ繧、繝ォ諡。蠑オ荳ュ縺ォ繝繧」繧ケ繧ッ縺梧コ譚ッ縺ォ縺ェ縺」縺溘</li>
</ul>
-<p><tt>_USE_FASTSEEK</tt>が1で、且つファイル・オブジェクトの<tt>cltbl</tt>メンバがNULL以外(<tt>f_open()</tt>でNULLに設定される)のとき、高速シーク・モードになります。これはファイルのクラスタ配置情報(CLMT)をメモリ上に保持しておくことにより、FATにアクセスすることなく後方シークやロング・シークを高速に行う機能です。高速シーク・モードは、<tt>f_read()/f_wtite()</tt>の動作にも適用されます。高速シーク・モードでは<tt>f_wtite()/f_lseek()</tt>によるファイル・サイズの拡張はできません。</p>
-<p>高速シーク動作を行う前に、CLMTを作成しておく必要があります。これを作成するには、まずCLMT格納バッファ(<tt>DWORD</tt>型配列)を準備し、<tt>cltbl</tt>メンバにそのポインタをセットします。そして、配列の先頭要素にその配列のサイズ(要素数)を入れ、<tt>f_lseek()</tt>を<tt class="arg">ofs</tt>に<tt>CREATE_LINKMAP</tt>を指定して呼び出します。関数が成功するとCLMTが作成され、以降の<tt>f_read()/f_write()/f_lseek()</tt>ではFATへのアクセスは発生しません。<tt>FR_NOT_ENOUGH_CORE</tt>で失敗したときは配列サイズが不足で、先頭要素には実際に必要となる要素数が返されます。必要な要素数は、(ファイルの分割数 + 1) * 2 です。たとえば、ファイルが5つのフラグメントに分断されているときに必要な要素数は、12となります。</p>
+<p><tt>_USE_FASTSEEK</tt>縺1縺ァ縲∽ク斐▽繝輔ぃ繧、繝ォ 繧ェ繝悶ず繧ァ繧ッ繝医ョ<tt>cltbl</tt>繝。繝ウ繝舌′NULL莉・螟(<tt>f_open()</tt>縺ァNULL縺ォ險ュ螳壹&繧後k)縺ョ縺ィ縺阪鬮倬溘す繝シ繧ッ 繝「繝シ繝峨↓縺ェ繧翫∪縺吶ゅ%繧後ッ繝輔ぃ繧、繝ォ縺ョ繧ッ繝ゥ繧ケ繧ソ驟咲スョ諠蝣ア(CLMT)繧偵Γ繝「繝ェ荳翫↓菫晄戟縺励※縺翫¥縺薙→縺ォ繧医j縲:AT縺ォ繧「繧ッ繧サ繧ケ縺吶k縺薙→縺ェ縺丞セ梧婿繧キ繝シ繧ッ繧繝ュ繝ウ繧ー 繧キ繝シ繧ッ繧帝ォ倬溘↓陦後≧讖溯ス縺ァ縺吶るォ倬溘す繝シ繧ッ 繝「繝シ繝峨ッ縲<tt>f_read()/f_wtite()</tt>縺ョ蜍穂ス懊↓繧る←逕ィ縺輔l縺セ縺吶るォ倬溘す繝シ繧ッ 繝「繝シ繝峨〒縺ッ<tt>f_wtite()/f_lseek()</tt>縺ォ繧医k繝輔ぃ繧、繝ォ 繧オ繧、繧コ縺ョ諡。蠑オ縺ッ縺ァ縺阪∪縺帙s縲</p>
+<p>鬮倬溘す繝シ繧ッ蜍穂ス懊r陦後≧蜑阪↓縲,LMT繧剃ス懈舌@縺ヲ縺翫¥蠢隕√′縺ゅj縺セ縺吶ゅ%繧後r菴懈舌☆繧九↓縺ッ縲√∪縺咾LMT譬シ邏阪ヰ繝繝輔ぃ(<tt>DWORD</tt>蝙矩榊)繧呈コ門y縺励<tt>cltbl</tt>繝。繝ウ繝舌↓縺昴ョ繝昴う繝ウ繧ソ繧偵そ繝繝医@縺セ縺吶ゅ◎縺励※縲驟榊励ョ蜈磯ュ隕∫エ縺ォ縺昴ョ驟榊励ョ繧オ繧、繧コ(隕∫エ謨ー)繧貞・繧後<tt>f_lseek()</tt>繧<tt class="arg">ofs</tt>縺ォ<tt>CREATE_LINKMAP</tt>繧呈欠螳壹@縺ヲ蜻シ縺ウ蜃コ縺励∪縺吶る未謨ー縺梧仙粥縺吶k縺ィCLMT縺御ス懈舌&繧後∽サ・髯阪ョ<tt>f_read()/f_write()/f_lseek()</tt>縺ァ縺ッFAT縺ク縺ョ繧「繧ッ繧サ繧ケ縺ッ逋コ逕溘@縺セ縺帙s縲<tt>FR_NOT_ENOUGH_CORE</tt>縺ァ螟ア謨励@縺溘→縺阪ッ驟榊励し繧、繧コ縺御ク崎カウ縺ァ縲∝磯ュ隕∫エ縺ォ縺ッ螳滄圀縺ォ蠢隕√→縺ェ繧玖ヲ∫エ謨ー縺瑚ソ斐&繧後∪縺吶ょソ隕√↑隕∫エ謨ー縺ッ縲(繝輔ぃ繧、繝ォ縺ョ蛻蜑イ謨ー + 1) * 2 縺ァ縺吶ゅ◆縺ィ縺医ー縲√ヵ繧。繧、繝ォ縺5縺、縺ョ繝輔Λ繧ー繝。繝ウ繝医↓蛻譁ュ縺輔l縺ヲ縺繧九→縺阪↓蠢隕√↑隕∫エ謨ー縺ッ縲12縺ィ縺ェ繧翫∪縺吶</p>
</div>
<div class="para comp">
-<h4>対応情報</h4>
-<p><tt>_FS_MINIMIZE &lt; 3</tt>のとき使用可能です。</p>
+<h4>蟇セ蠢懈ュ蝣ア</h4>
+<p><tt>_FS_MINIMIZE &lt; 3</tt>縺ョ縺ィ縺堺スソ逕ィ蜿ッ閭ス縺ァ縺吶</p>
</div>
<div class="para use">
-<h4>使用例</h4>
+<h4>菴ソ逕ィ萓</h4>
<pre>
- <span class="c">/* ファイルを開く */</span>
+ <span class="c">/* 繝輔ぃ繧、繝ォ繧帝幕縺 */</span>
fp = malloc(sizeof (FIL));
res = f_open(fp, "file.dat", FA_READ|FA_WRITE);
if (res) ...
- <span class="c">/* ファイル・オフセット5000へ移動 */</span>
+ <span class="c">/* 繝輔ぃ繧、繝ォ 繧ェ繝輔そ繝繝5000縺ク遘サ蜍 */</span>
res = f_lseek(fp, 5000);
- <span class="c">/* ファイル終端へ移動(ファイル追記の準備) */</span>
+ <span class="c">/* 繝輔ぃ繧、繝ォ邨らォッ縺ク遘サ蜍(繝輔ぃ繧、繝ォ霑ス險倥ョ貅門y) */</span>
res = f_lseek(fp, f_size(fp));
- <span class="c">/* 3000バイト進める */</span>
+ <span class="c">/* 3000繝舌う繝磯イ繧√k */</span>
res = f_lseek(fp, f_tell(fp) + 3000);
- <span class="c">/* 2000バイト戻す (ラップアラウンドに注意) */</span>
+ <span class="c">/* 2000繝舌う繝域綾縺 (繝ゥ繝繝励い繝ゥ繧ヲ繝ウ繝峨↓豕ィ諢) */</span>
res = f_lseek(fp, f_tell(fp) - 2000);
</pre>
<pre>
-<span class="c">/* クラスタ先行割り当て (ストリーミング・ライト時のバッファ・オーバーラン防止) */</span>
+<span class="c">/* 繧ッ繝ゥ繧ケ繧ソ蜈郁。悟牡繧雁ス薙※ (繧ケ繝医Μ繝シ繝溘Φ繧ー 繝ゥ繧、繝域凾縺ョ繝舌ャ繝輔ぃ 繧ェ繝シ繝舌シ繝ゥ繝ウ髦イ豁「) */</span>
- res = f_open(fp, "record.wav", FA_CREATE_NEW | FA_WRITE); <span class="c">/* ファイル作成 */</span>
+ res = f_open(fp, "record.wav", FA_CREATE_NEW | FA_WRITE); <span class="c">/* 繝輔ぃ繧、繝ォ菴懈 */</span>
- res = f_lseek(fp, MAX_SIZE); <span class="c">/* 十分なクラスタの先行割り当て */</span>
- if (res || f_tell(fp) != PRE_SIZE) ... <span class="c">/* 正しくファイルが拡張されたかチェック */</span>
+ res = f_lseek(fp, MAX_SIZE); <span class="c">/* 蜊∝縺ェ繧ッ繝ゥ繧ケ繧ソ縺ョ蜈郁。悟牡繧雁ス薙※ */</span>
+ if (res || f_tell(fp) != PRE_SIZE) ... <span class="c">/* 豁」縺励¥繝輔ぃ繧、繝ォ縺梧僑蠑オ縺輔l縺溘°繝√ぉ繝繧ッ */</span>
- res = f_lseek(fp, DATA_START); <span class="c">/* データ・ストリームの記録(アロケーションディレイ無し) */</span>
+ res = f_lseek(fp, DATA_START); <span class="c">/* 繝繝シ繧ソ 繧ケ繝医Μ繝シ繝縺ョ險倬鹸(繧「繝ュ繧ア繝シ繧キ繝ァ繝ウ繝繧」繝ャ繧、辟。縺) */</span>
...
- res = f_truncate(fp); <span class="c">/* 不要領域の切り捨て */</span>
- res = f_lseek(fp, 0); <span class="c">/* ヘッダの記録 */</span>
+ res = f_truncate(fp); <span class="c">/* 荳崎ヲ鬆伜沺縺ョ蛻繧頑昏縺ヲ */</span>
+ res = f_lseek(fp, 0); <span class="c">/* 繝倥ャ繝縺ョ險倬鹸 */</span>
...
res = f_close(fp);
</pre>
<pre>
-<span class="c">/* 高速シーク機能を使う */</span>
+<span class="c">/* 鬮倬溘す繝シ繧ッ讖溯ス繧剃スソ縺 */</span>
- DWORD clmt[SZ_TBL]; <span class="c">/* リンク・マップ・テーブル格納バッファ */</span>
+ DWORD clmt[SZ_TBL]; <span class="c">/* 繝ェ繝ウ繧ッ 繝槭ャ繝 繝繝シ繝悶Ν譬シ邏阪ヰ繝繝輔ぃ */</span>
- res = f_lseek(fp, ofs1); <span class="c">/* 通常シーク (オープン時、cltblはNULLに初期化される) */</span>
+ res = f_lseek(fp, ofs1); <span class="c">/* 騾壼クク繧キ繝シ繧ッ (繧ェ繝シ繝励Φ譎ゅ…ltbl縺ッNULL縺ォ蛻晄悄蛹悶&繧後k) */</span>
- fp-&gt;cltbl = clmt; <span class="c">/* 高速シーク機能の有効化 */</span>
- clmt[0] = SZ_TBL; <span class="c">/* 先頭要素に配列要素数をセット */</span>
- res = f_lseek(fp, CREATE_LINKMAP); <span class="c">/* CLMTの作成 */</span>
+ fp-&gt;cltbl = clmt; <span class="c">/* 鬮倬溘す繝シ繧ッ讖溯ス縺ョ譛牙柑蛹 */</span>
+ clmt[0] = SZ_TBL; <span class="c">/* 蜈磯ュ隕∫エ縺ォ驟榊苓ヲ∫エ謨ー繧偵そ繝繝 */</span>
+ res = f_lseek(fp, CREATE_LINKMAP); <span class="c">/* CLMT縺ョ菴懈 */</span>
...
- res = f_lseek(fp, ofs2); <span class="c">/* 以降、f_read/f_write/f_lseekでFATアクセスは発生しない */</span>
+ res = f_lseek(fp, ofs2); <span class="c">/* 莉・髯阪’_read/f_write/f_lseek縺ァFAT繧「繧ッ繧サ繧ケ縺ッ逋コ逕溘@縺ェ縺 */</span>
</pre>
</div>
<div class="para ref">
-<h4>参照</h4>
+<h4>蜿らァ</h4>
<p><tt><a href="open.html">f_open</a>, <a href="sfile.html">FIL</a></tt></p>
</div>
-<p class="foot"><a href="../00index_j.html">戻る</a></p>
+<p class="foot"><a href="../00index_j.html">謌サ繧</a></p>
</body>
</html>