<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FileSeek アーカイブ - 自動売買を作ろう！</title>
	<atom:link href="https://mql-programing.com/archives/tag/fileseek/feed/" rel="self" type="application/rss+xml" />
	<link>https://mql-programing.com/archives/tag/fileseek/</link>
	<description>MQLプログラミング学習サイト</description>
	<lastBuildDate>Tue, 31 Mar 2026 13:09:23 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mql-programing.com/main29/wp-content/uploads/2021/02/cropped-ブログアイコン-32x32.jpg</url>
	<title>FileSeek アーカイブ - 自動売買を作ろう！</title>
	<link>https://mql-programing.com/archives/tag/fileseek/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【MQL4定数】ファイルのシーク位置定数（ENUM_FILE_POSITION）</title>
		<link>https://mql-programing.com/archives/2825/enum_file_position/</link>
		
		<dc:creator><![CDATA[朝日奈りさ]]></dc:creator>
		<pubDate>Sun, 08 May 2022 01:38:28 +0000</pubDate>
				<category><![CDATA[【辞書】MQLリファレンス]]></category>
		<category><![CDATA[定数]]></category>
		<category><![CDATA[MQL]]></category>
		<category><![CDATA[リファレンス]]></category>
		<category><![CDATA[ENUM_FILE_POSITION]]></category>
		<category><![CDATA[FileSeek]]></category>
		<guid isPermaLink="false">https://mql-programing.com/?p=2825</guid>

					<description><![CDATA[<p>ファイルのシーク位置定数（ENUM_FILE_POSITION） ファイルのシーク位置定数（ENUM_FILE_POSITION）は、ファイルのどこからどこまでを読み込むのかを、設定するための定数です。 例えば、ファイル [&#8230;]</p>
<p>投稿 <a href="https://mql-programing.com/archives/2825/enum_file_position/">【MQL4定数】ファイルのシーク位置定数（ENUM_FILE_POSITION）</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><span id="toc1">ファイルのシーク位置定数（ENUM_FILE_POSITION）</span></h2>



<p class="wp-block-paragraph">ファイルのシーク位置定数（ENUM_FILE_POSITION）は、<strong><span class="marker-under-red">ファイルのどこからどこまでを読み込むのかを、設定するための定数です。</span></strong></p>



<p class="wp-block-paragraph">例えば、ファイルのヘッダー部分を読み飛ばすために、「ファイルの先頭から100文字までは無視する」という設定が可能です。</p>



<div style="height:79px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">ファイルのシーク位置定数を使うには、以下の関数を使います。</p>



<ul class="wp-block-list"><li><strong>FileSeek関数：ファイルのシーク位置を設定する関数</strong></li></ul>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><span id="toc2">ファイルのシーク位置定数（ENUM_FILE_POSITION）</span></h3>



<figure class="wp-block-table alignfull is-style-stripes"><table><tbody><tr><td><strong>定数</strong></td><td><strong>説明</strong></td></tr><tr><td>SEEK_SET</td><td>ファイルの先頭</td></tr><tr><td>SEEK_CUR</td><td>現在のファイルのシーク位置</td></tr><tr><td>SEEK_END</td><td>ファイルの最後</td></tr></tbody></table></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc3">ファイルのシーク位置定数の使い方</span></h2>



<p class="wp-block-paragraph">主に、<strong>FileSeek関数</strong>で使用されます。</p>



<p class="wp-block-paragraph">FileSeek関数の第3引数(origin)として、ファイルのシーク位置定数が使用されます。</p>



<p class="wp-block-paragraph">例えば、以下のように使用します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>void OnInit()
  {
   //ファイルパスを指定
   string path = "folder/data.csv";

   //ファイルを読み込み可能・CSV形式で読み込む
   int handle = FileOpen(path,FILE_READ|FILE_CSV);
   
   //ファイルの読み込みエラーチェック
   if(handle != INVALID_HANDLE)
     {
      //文字列番号をランダムに選ぶ
      ulong ind = MathRand() % 100;

      //位置を文字列の始めにシフトする
      if(FileSeek(handle, ind, SEEK_SET) == true)
        {
         //ind 番号で文字列を読んで出力する
         PrintFormat("String text with %d number: \"%s\"", ind, FileReadString(handle));
        }

      //ファイルを閉じる
      FileClose(handle);
     }
  }</code></pre></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc4">各定数ごとのサンプルプログラム</span></h2>



<h3 class="wp-block-heading"><span id="toc5">SEEK_SET（ファイルの先頭から指定位置へシーク）</span></h3>



<p class="wp-block-paragraph">SEEK_SETは、ファイルの先頭を基準にしてシーク位置を移動します。以下の例では、ファイルの先頭から50バイト目に移動してから読み込みを行います。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>void OnStart()
  {
   string path = "test_data.bin";

   //ファイルをバイナリ形式・読み込みモードで開く
   int handle = FileOpen(path, FILE_READ | FILE_BIN);

   if(handle != INVALID_HANDLE)
     {
      //ファイルの先頭から50バイト目にシークする
      if(FileSeek(handle, 50, SEEK_SET))
        {
         //現在のシーク位置を取得して出力
         Print("SEEK_SET後の位置: ", FileTell(handle));

         //データを読み込む
         string data = FileReadString(handle, 10);
         Print("読み込んだデータ: ", data);
        }
      else
        {
         Print("FileSeek(SEEK_SET)に失敗しました");
        }

      FileClose(handle);
     }
   else
     {
      Print("ファイルオープンに失敗しました: ", GetLastError());
     }
  }</code></pre></div>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><span id="toc6">SEEK_CUR（現在位置から相対的にシーク）</span></h3>



<p class="wp-block-paragraph">SEEK_CURは、現在のシーク位置を基準にして移動します。以下の例では、データを一部読み込んだ後、さらに20バイト先に移動して読み込みを行います。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>void OnStart()
  {
   string path = "test_data.bin";

   //ファイルをバイナリ形式・読み込みモードで開く
   int handle = FileOpen(path, FILE_READ | FILE_BIN);

   if(handle != INVALID_HANDLE)
     {
      //まず先頭から10バイト読み込む
      string firstData = FileReadString(handle, 10);
      Print("最初の10バイト: ", firstData);
      Print("現在の位置: ", FileTell(handle));

      //現在位置からさらに20バイト先にシークする
      if(FileSeek(handle, 20, SEEK_CUR))
        {
         Print("SEEK_CUR後の位置: ", FileTell(handle));

         //データを読み込む
         string data = FileReadString(handle, 10);
         Print("読み込んだデータ: ", data);
        }
      else
        {
         Print("FileSeek(SEEK_CUR)に失敗しました");
        }

      FileClose(handle);
     }
   else
     {
      Print("ファイルオープンに失敗しました: ", GetLastError());
     }
  }</code></pre></div>



<div style="height:50px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading"><span id="toc7">SEEK_END（ファイルの末尾を基準にシーク）</span></h3>



<p class="wp-block-paragraph">SEEK_ENDは、ファイルの末尾を基準にして移動します。以下の例では、ファイルの末尾から30バイト手前に移動して、末尾付近のデータを読み込みます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>void OnStart()
  {
   string path = "test_data.bin";

   //ファイルをバイナリ形式・読み込みモードで開く
   int handle = FileOpen(path, FILE_READ | FILE_BIN);

   if(handle != INVALID_HANDLE)
     {
      //ファイルサイズを取得して出力
      ulong fileSize = FileSize(handle);
      Print("ファイルサイズ: ", fileSize, " バイト");

      //ファイルの末尾から30バイト手前にシークする
      if(FileSeek(handle, -30, SEEK_END))
        {
         Print("SEEK_END後の位置: ", FileTell(handle));

         //末尾付近のデータを読み込む
         string data = FileReadString(handle, 30);
         Print("末尾付近のデータ: ", data);
        }
      else
        {
         Print("FileSeek(SEEK_END)に失敗しました");
        }

      FileClose(handle);
     }
   else
     {
      Print("ファイルオープンに失敗しました: ", GetLastError());
     }
  }</code></pre></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc8">【補足】ファイルのシーク位置定数の列挙型（ENUM_FILE_POSITION）</span></h2>



<p class="wp-block-paragraph">ファイルのシーク位置定数は、ENUM_FILE_POSITION​という<a href="https://mql-programing.com/enum/">列挙型</a>に含まれています。</p>



<p class="wp-block-paragraph">列挙型は、定数群をひとまとめにしたものです。</p>



<p class="wp-block-paragraph">以下のように使います。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-cpp" data-lang="C++"><code>ENUM_FILE_POSITION filePosition = SEEK_SET;</code></pre></div>



<p class="wp-block-paragraph">上記のようにプログラムすると、filePosition変数に SEEK_SETの値が代入されます。</p>



<p class="wp-block-paragraph">　</p>



<div class="wp-block-cocoon-blocks-button-1 button-block"><a href="https://mql-programing.com/sample_program/" class="btn btn-l btn-circle" target="_self">サンプルプログラムはこちら</a></div>



<p class="wp-block-paragraph">　</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-自動売買を作ろう！ wp-block-embed-自動売買を作ろう！"><div class="wp-block-embed__wrapper">

<a href="https://mql-programing.com/enum/" title="【MQLプログラミング基礎】列挙型とは？配列との違いを理解して使いこなそう！" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img fetchpriority="high" decoding="async" src="https://i0.wp.com/mql-programing.com/main29/wp-content/uploads/2021/09/enum.jpg?fit=1200%2C675&#038;ssl=1" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【MQLプログラミング基礎】列挙型とは？配列との違いを理解して使いこなそう！</div><div class="blogcard-snippet external-blogcard-snippet">目次 列挙型とは？列挙型と配列の違い列挙型と配列のデータの取り出し方法の違い列挙型と配列のデータの取り出し方法のまとめ列挙型の構造と使い方列挙型の構造列挙型の使い方列挙型はどこで使われているのか列挙型のプログラム例まとめ</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://mql-programing.com/archives/1399/enum/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">mql-programing.com</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-自動売買を作ろう！ wp-block-embed-自動売買を作ろう！"><div class="wp-block-embed__wrapper">

<a href="https://mql-programing.com/make_autotrade_by_myself/" title="【MQL4プログラミング】自動売買の作り方！FXで使えるテンプレートあり" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://i0.wp.com/mql-programing.com/main29/wp-content/uploads/2021/09/make_autotrade_by_myself.jpg?fit=1200%2C675&#038;ssl=1" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="320" height="180" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">【MQL4プログラミング】自動売買の作り方！FXで使えるテンプレートあり</div><div class="blogcard-snippet external-blogcard-snippet">目次 はじめにFX自動売買とはFX自動売買を作るための準備FX自動売買の作り方口座凍結の対策をするプログラムテンプレートを作る決済ロジックをプログラミングするプログラムテンプレートを作るエントリーロジックをプログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://mql-programing.com/archives/1605/make_autotrade_by_myself/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">mql-programing.com</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-自動売買を作ろう！ wp-block-embed-自動売買を作ろう！"><div class="wp-block-embed__wrapper">

<a href="https://mql-programing.com/mql-reference/" title="MQL4リファレンス【全データ一覧】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="160" height="90" src="https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-160x90.jpg 160w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-300x169.jpg 300w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-1024x576.jpg 1024w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-768x432.jpg 768w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-120x68.jpg 120w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス-320x180.jpg 320w, https://mql-programing.com/main29/wp-content/uploads/2021/02/MQLリファレンス.jpg 1120w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">MQL4リファレンス【全データ一覧】</div><div class="blogcard-snippet internal-blogcard-snippet">/*! elementor - v3.6.5 - 27-04-2022 */.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://mql-programing.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">mql-programing.com</div></div></div></div></a>
</div></figure>



<p class="wp-block-paragraph">　</p>
<p>投稿 <a href="https://mql-programing.com/archives/2825/enum_file_position/">【MQL4定数】ファイルのシーク位置定数（ENUM_FILE_POSITION）</a> は <a href="https://mql-programing.com">自動売買を作ろう！</a> に最初に表示されました。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
