EAを使ってファイルの読み取り、書き込み、が出来ない。

 

EAを使用して、テキスト(txt or csv)を読み込んで使用したく、以下の簡単なサンプルを書いてみました。

しかしエラーコード 5002 (ファイル名がおかしい)が出てしまいファイルが扱えません。

EAではファイルの置き場所に制限があることは理解しています。しかしながら TERMINAL_DATA_PATH でも、TERMINAL_COMMONDATA_PATH どちらも5002エラーが出ます。

ちなみに、同様に FileOpen(filename,FILE_WRITE|FILE_TXT) で書き込みとしてopenを試みても5002エラーが出てopen出来ませんでした。

問題点がわかりましたら教えてください。御願いします。

void OnDeinit(const int reason)
  {
//---
    string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);  //どちらを使ってもダメ
    string common=TerminalInfoString(TERMINAL_COMMONDATA_PATH);  //どちらを使ってもダメ
    string filename = common+"\\Files\\"+"test001.txt";  //あらかじめtest001.txtは作成して配置してある。
    string textContents;

    int filehandle = FileOpen(filename,FILE_READ|FILE_TXT);
    if(filehandle<0)
      {
      Print("Failed to open the file by the absolute path ");
      Print("Error code ",GetLastError());
      }

    int str_size;
    while(!FileIsEnding(filehandle))  //FileOpenで失敗してしまうので、この部分は全て作動してない。
      {
        str_size = FileReadInteger(filehandle, INT_VALUE);
        textContents = FileReadString(filehandle, str_size);
        PrintFormat(textContents);
      }

    FileClose(filehandle);
    return;
  }
 

自己解決しました。terminal_data_pathの文字列とファイルネームを結合するのはリファレンスを参考にしたのですが、実際はデータパスを結合しないでただファイルネームだけ指定することにより、勝手にterminal_data_path直下\Filesにファイルが生成されました。

リファレンスが間違ってたことになるのですが、バージョン的なものでしょうか?

悩んでる方は参考にしてみてください。

また、この件に関して何かアドバイスありましたら引き続き教えて頂けると嬉しいです。

理由: