1. 程式人生 > >MT4函式_讀取CSV格式檔案存入到二維陣列

MT4函式_讀取CSV格式檔案存入到二維陣列

/*
函式:讀取CSV格式檔案存入到二維陣列
輸出:true  讀取成功 false 讀取失敗
演算法:把指定csv格式檔案讀取到二維陣列,二維陣列需要提前定義
*/
bool lxFileCSV_To_Array(string   myFileName,     //CSV格式檔名
                        string  &myStrArray[][], //二維陣列
                       ) export
  {
    int  myhandle=FileOpen(myFileName,FILE_READ|FILE_SHARE_READ|FILE_CSV,","); 
    if  (myhandle==INVALID_HANDLE)  return(false);
    int  myLn=0;   //行計數器
    int  myCol=0;  //列計數器
    int  myStr_size=0;   //字元長度變數
    while (!FileIsEnding(myhandle))  //不是檔案尾部,對該行進行操作
      {
       myCol=0;    //列復位為0
       myStr_size=FileReadInteger(myhandle,INT_VALUE);   //行字元的長度
       myStrArray[myLn][myCol]=FileReadString(myhandle,myStr_size);  //對陣列賦值
       while (!FileIsLineEnding(myhandle))
         {
          myCol++;   //列遞加
          myStrArray[myLn][myCol]=FileReadString(myhandle,myStr_size);//每行第二個元素以後的值
         }
       myLn++;  //行遞增    
      }
    FileClose(myhandle);   
    return(true);
  }