stephensuen 发表于 2007-12-12 15:47

mcc 是不是不支持 input 语句

mcc 是不是不支持 input 语句,比如
filename=input('输入天线信息文件名   ')
我的程序中用到了这个,编译成exe文件后一执行就出现问题....
如果不支持那有什么办法变通一下呢?

[ 本帖最后由 eight 于 2007-12-12 16:03 编辑 ]

sigma665 发表于 2007-12-12 16:18

用英文呢

eight 发表于 2007-12-12 16:33

原帖由 stephensuen 于 2007-12-12 15:47 发表 http://www.chinavib.com/forum/images/common/back.gif
mcc 是不是不支持 input 语句,比如
filename=input('输入天线信息文件名   ')
我的程序中用到了这个,编译成exe文件后一执行就出现问题....
如果不支持那有什么办法变通一下呢?
错误提示是什么?同意2楼的方法,把输入的提示信息换英文试试

stephensuen 发表于 2007-12-13 09:39

换了,还是不行.编译好,运行EXE文件后,DOS窗口下显示
input the ant pattern data(改成英文)

但我一敲文件名,程序就中断并跳出来了.部分程序如下:
filename=input('input the ant fpattern data   ');
F=dlmread(filename,'',1,0)
..............................程序是要用户输入 文件名称,然后通过DLMREAD把文件中的数据读入矩阵F,
我试过了,如果不做 用户输入 这步, 直接指定文件名称让程序读入, 可以编译,运行无问题.所以问题就出在 第一行了...而且DOS下一跳就出来了,我也来不及看里面的错误提示是什么.

sugarcane 发表于 2007-12-13 10:09

1. try uigetfile
2. dos 下执行exe,可以得到更多信息

stephensuen 发表于 2007-12-13 11:20

感谢指导.
uigetfile 我试了下,这个函数和我的问题好象关系不大,它得到的是文件的路径和名称.不知道有什么用.
在 DOS下运行 EXE 文件,终于看清了错误信息, 如下:
input the ant pattern data (提示输入 参数文件名)
'ant.txt' (敲入文件名,在MATLAB中就是这样操作的)
??? ERROR using ==>dlmread
the file ''ant.txt'' could not be opend because : Invalid argument
Error in ant12(主程序名) at 6 (第6行,即 F=dlmread(filename,'',1,0))
MATLAB:dlmread:fiel not opened

这个错误信息是说我没成功打开文件'ant.txt' 么? 但我在不用INPUT 指令,直接指定文件名的情况下,
如F=dlmread('ant.txt','',1,0)编译后成功运行,结果也正确. 问题到底在哪呢?

stephensuen 发表于 2007-12-13 16:58

研究了一下午,发现了一点新情况,好象是编译时 系统把 ANT.TXT 这个FILENAME 存储的太长了,导致DLMREAD时不能识别.如下:
the file 'ant.txt
' could not be opened because: invalid argument
注意,它不是 
the file 'ant.txt' could not be.........................
而是另起一行 
the file'ant.txt
' could not be opend...........................
估计问题就出在这里.但我还是不知道该如何解决

sugarcane 发表于 2007-12-18 18:04

用GUI对话框得到文件的路径和名称
和你input敲入文件名不是一码事么?

ysqcysqc 发表于 2007-12-19 10:29

mcc编译确实有不少问题啊!!但是,input 语句肯定是支持的!我估计是你输入文件的问题,可能他打不开txt文件!!不如你先安装notebook,用word试试!!
页: [1]
查看完整版本: mcc 是不是不支持 input 语句