int handle = FileOpen("test.csv",FILE_READ |FILE_WRITE|FILE_CSV,",");
上面這段程序可以正常在MQL5\Files 資料夾內建立一個新檔案
然後我在MQL5\Files確定有test.csv檔案後, 再用下面這段程序測試,想讀取檔案
int handle = FileOpen("test.csv",FILE_READ |FILE_CSV,",");
結果handle卻回傳-1, 請問為何會讀取失敗?還有請高手指導一下感
调用 GetLastError(), 检查下错误代码。
可能这个文档test.csv处于打开状态,必须关了它。
Kevin Z:
int handle = FileOpen("test.csv",FILE_READ |FILE_WRITE|FILE_CSV,",");
上面這段程序可以正常在MQL5\Files 資料夾內建立一個新檔案
然後我在MQL5\Files確定有test.csv檔案後, 再用下面這段程序測試,想讀取檔案
int handle = FileOpen("test.csv",FILE_READ |FILE_CSV,",");
結果handle卻回傳-1, 請問為何會讀取失敗?還有請高手指導一下感
handle=FileOpen("test.csv",FILE_CSV|FILE_READ|FILE_SHARE_WRITE|FILE_SHARE_READ,','); 供参考
感謝您的回覆
(1) 我用GetLastError()查的代碼是5004
(2)您說要關檔我加上了FileClose()還是不行
但我發現一個奇怪的現象
int handle = FileOpen("test.csv", FILE_WRITE|FILE_CSV,",");
FileClose(handle);
int handle2 = FileOpen("test.csv",FILE_READ |FILE_CSV,",");
FileClose(handle2);
上面這段組合程序讀檔沒有問題 ,handle 和 handle2都是1
但是如果我只執行下面這段讀檔程序hande 卻回傳-1(確定有test.csv檔案存在)
int handle2 = FileOpen("test.csv",FILE_READ |FILE_CSV,",");
FileClose(handle2);
不知道問題出在那邊,還麻煩幫忙解惑一下感謝
5004就是檔案打開錯誤
可能是已經開啟但是沒有關閉
用樓上大神的建議 把參數修改一下
handle=FileOpen("test.csv",FILE_CSV|FILE_READ|FILE_SHARE_WRITE|FILE_SHARE_READ,',');
這樣就可以避免唯寫或是唯讀的狀況
謝謝各位 解決了