作者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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1407817917.A.628.html
1F:推 sunev: 空白? 08/12 12:41
2F:→ arthur3000: strcat(cmd,12,x) 12就帮我多打一个空白了 08/12 23:36
3F:推 sunev: 为什麽12是空白? 08/13 01:36
4F:→ arthur3000: 我google到一个讨论里面说的 我猜可能是ascii代码?? 08/13 09:47
5F:→ arthur3000: 刚刚试了好几个数字 好像有些会有空白键的效果 08/13 09:54
6F:推 sunev: ascii的空白是有明确定义的,详情请自行google 08/13 10:21
7F:→ arthur3000: 谢谢!! 问题已经解决了 我把字串转double 空白键是32 08/13 10:47
8F:→ arthur3000: 用矩阵合并中间再夹32 转回char就没问题了! 08/13 10:47