[問題]請教由c#呼叫matlab編譯執行檔之路徑問題?
各位先進好:
小弟對matlab是個完全的新手,
由於研究上的需要,想將c#與matlab混用,
經小弟粗淺研究之後覺得最快的上手方法是將寫好的matlab程式用mcc編成執行檔,
然後讓.net用Process去呼叫,而中間的I/O用文字檔來接,
亦即c#輸出一個txt檔給matlab當input,處理完後再輸出成txt檔讓c#吃回去繼續處理,
以小弟目前的資料規模而言I/O所造成的負擔還算可以接受。
可是matlab的部份已經編譯成功,而且直接去點這個exe檔時可正確執行,
但讓c#從外部呼叫這個exe檔的時候,主控台畫面只會閃一下而沒有執行,
我設法用pritscreen去抓那不到一秒的瞬間,看到的錯誤訊息是:
它說我input的那個文字檔不存在!
可是通常matlab的程式都把io檔案和執行檔放在同一個資料夾下,
然後就不用去考慮檔案路徑的問題,
而且我如果直接去點那個exe檔的話是可以正確執行而且找得到檔案的,
為什麼透過c#來呼叫這執行檔的時候,會發生路徑不正確的問題呢?
不知各位先進有沒有碰過類似的問題,懇請賜教,不勝感激!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.13.117