作者arthur3000 (Arthur)
看板MATLAB
標題[問題] 關於dos的指令
時間Tue Aug 12 12:31:55 2014
大家好
想請問各位有關dos的指令
像是 dos('dfmod a.ind') % dfmod是模擬軟體的執行 a.ind是檔案
若把 cmd = 'dfmod a.ind'
再執行 dos(cmd) 這樣也是OK沒問題的
但是我程式需要在 dfmod a.ind 後面加上幾個字 例如 n1=0
要執行 dfmod a.ind n1=0 % 進行模擬時將某塊區域的n1設為零
我想要做的是如下:
cmd = 'dfmod a.ind'
x = 'n1=0'
cmd = strcat(cmd,12,x)
dos(cmd)
這樣卻無法執行(會得到ans = 34,不知道是否為錯誤碼)
在合併的過程好像出了問題
不然一定要手動輸入 dos('dfmod a.ind n1=0') 才能執行
因為要用程式控制x,無法手動輸入
不知道該如何解決呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.19.44
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1407817917.A.628.html
推 sunev: 空白? 08/12 12:41
→ arthur3000: strcat(cmd,12,x) 12就幫我多打一個空白了 08/12 23:36
推 sunev: 為什麼12是空白? 08/13 01:36
→ arthur3000: 我google到一個討論裡面說的 我猜可能是ascii代碼?? 08/13 09:47
→ arthur3000: 剛剛試了好幾個數字 好像有些會有空白鍵的效果 08/13 09:54
推 sunev: ascii的空白是有明確定義的,詳情請自行google 08/13 10:21
→ arthur3000: 謝謝!! 問題已經解決了 我把字串轉double 空白鍵是32 08/13 10:47
→ arthur3000: 用矩陣合併中間再夾32 轉回char就沒問題了! 08/13 10:47