MT4函式_讀取CSV格式檔案存入到二維陣列
阿新 • • 發佈:2019-02-11
/*
函式:讀取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);
}
函式:讀取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);
}