首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MQL4创建文本文件

用MQL4创建文本文件
EN

Stack Overflow用户
提问于 2018-12-07 20:46:26
回答 3查看 4.9K关注 0票数 1

我正在尝试用MQL4创建一个文本文件。没有成功。只是不起作用。一个非常简单的脚本:

代码语言:javascript
复制
    void OnStart() {
      string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
      string filename=terminal_data_path+"\\MQL4\\Files\\"+"teste2.txt";
      int filehandle = FileOpen(filename,FILE_WRITE|FILE_TXT);
      FileWriteString(filehandle,"teste");  
      FileClose(filehandle); 
   }

这会触发错误5002。好的,这个文件不存在。我想脚本会创建这个文件。

因此,我决定在文件夹中使用记事本创建一个空的"teste2.txt“。同样的错误。

有人能帮我吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-12 08:15:56

默认情况下,该文件是在./MQL4 4/Files中编写的,因此只需编写代码即可(它创建一个名为teste2.txt的文件,其中的teste写在./MQL4 4/Files中):

代码语言:javascript
复制
void OnStart()
{
  int filehandle = FileOpen("teste2.txt",FILE_WRITE|FILE_TXT);
  FileWriteString(filehandle,"teste");  
  FileClose(filehandle); 
}

当然,您需要检查FileX函数(FileOpen、fileWrite、FileClose等)的返回情况。

票数 2
EN

Stack Overflow用户

发布于 2018-12-07 23:44:21

如果调用文件string filename="A"+"\\B\\"+"teste2.txt";,它将被写入TerminalInfoString(TERMINAL_DATA_PATH)\MQL4 4\Files\A\B\文件夹。当然,您不能在文件名和完整路径中使用禁止的符号(C:\Users\User_NAME\AppData.)被禁止

票数 0
EN

Stack Overflow用户

发布于 2020-01-05 02:10:00

首先,您需要检查是否有文件。

代码语言:javascript
复制
//+------------------------------------------------------------------+
//|                                                  FileIsExist.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
     string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
     string filename     = "teste2.txt";
     int fileHandle      ;    

     if(FileIsExist(filename,0))
       {
          Print("Specified File Has");
          fileHandle     =    FileOpen(filename , FILE_WRITE|FILE_TXT);
          FileWriteString(fileHandle,"teste");  
          FileClose(fileHandle); 
          Print("Write to Existing File Completed");

       }else
          {
               Print("File Not Available, Regenerating....." );
               fileHandle     =    FileOpen(filename , FILE_READ|FILE_WRITE|FILE_TXT);
               FileWriteString(fileHandle,"Writing to Newly Created File Completed - teste     \n");  
               FileClose(fileHandle); 
               Print("Writing to Newly Created File Completed");
          }

  }
//+------------------------------------------------------------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53676610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档