1
2

More than 5 years have passed since last update.

MQL5 ファイル読み書き

Last updated at Posted at 2018-10-20

本記事は個人的な備忘録としての記録が主目的です。

ファイル読み込み

#include <Files\File.mqh>
#include <Files\FileTxt.mqh>

CFile cfile;
CFileTxt ctxt;

// MQL5\\Files\\ 以下のフォルダ名
string wordFolder = "foldername\\";
//開くファイル名
string filename = "filename.txt";

void OnStart()
  {
//---

      //ファイル存在チェック
      bool exist = cfile.IsExist(wordFolder + filename, false);
      //ファイルが存在するなら
      if(exist)
      {
          //ファイル開く
          int fhandle = ctxt.Open(wordFolder + filename, FILE_READ|FILE_WRITE);
          //ファイルを開くことができたなら
          if(fhandle >= 0)
          {
              Print(filename+" : FileOpened");
              while(!ctxt.IsEnding())
              {
                  string contents = "";
                  //contentsに読み込んだ各行のデータが入る
                  contents = ctxt.ReadString();
              }
          }else
          {
              Print("File Not Opened");
          }    
      }else{
         Print("File Not Exist");
      }
          //開いたファイルを閉じる
          ctxt.Close();
          Print("File Closed");
  }
//+------------------------------------------------------------------+

ファイル書き込み

#include <Files\File.mqh>
#include <Files\FileTxt.mqh>

CFile cfile;
CFileTxt ctxt;

void OnStart()
  {
//---
      // MQL5\\Files\\ 以下のフォルダ名
      string wordFolder = "foldername\\";
      //開くファイル名
      string filename = "filename.txt";

      //ファイル存在チェック
      bool exist = cfile.IsExist(wordFolder + filename, false);
      //ファイルが存在するなら
      if(exist)
      {
          //ファイル開く
          int fhandle = ctxt.Open(wordFolder + filename, FILE_READ|FILE_WRITE);
          //ファイルを開くことができたなら
          if(fhandle >= 0)
          {
              Print(filename+" : FileOpened");
              //書き出したい内容
              string text = "test";

              //行の終わりまで回す
              while(!ctxt.IsEnding())
              {
                  //読み込み
                  ctxt.ReadString();
              }
              //最終行なら追記
              if(ctxt.IsEnding()){
                 //File書き出し
                 string byte = ctxt.WriteString("\n"+text);
              }
          }else
          {
              Print("File Not Opened");
          }    
      }else{
         Print("File Not Exist");
      }
          //開いたファイルを閉じる
          ctxt.Close();
          Print("File Closed");
  }
//+------------------------------------------------------------------+

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2