6

假设一个包含 7718 个字符的文本文件(例如从这里剪切和粘贴的内容)

fileread('myfile.txt')当我启动 matlabmatlab -nodesktop但在桌面模式下工作时,该命令失败。

有谁知道为什么?

如果文本文件中的字符数减少到 1981,它将在-nodesktop模式下工作。

注意:我不知道它停止工作的确切字符数。

最后,我在 Windows7 上使用 Matlab 7.8.0 (R2009a)。

4

1 回答 1

1

我无法重现这种奇怪的行为(Matlab 2010b 和 2012b,都在 Linux 上)。

您至少可以尝试通过限制问题来“调试”此类行为。“fileread”例程对文件名(ischar,isempty)进行一些检查,然后打开文件(fopen),读取它(fread)并关闭它(fclose)——相当简单的基本内容。作为参考,请在 matlab 桌面的命令行中键入“edit fileread”,然后尝试逐步运行该例程。

如果“fread”导致整个事情崩溃,并且如果您绑定到这个版本的 Matlab,请尝试实施“修复”。"fread" 接受的参数比 "fileread" 中使用的参数多(仅文件 ID 和精度 "char"):FREAD(FID,SIZE,PRECISION,SKIP,MACHINEFORMAT)。指定更多参数可能会有所帮助(疯狂猜测但值得一试)。

于 2013-01-11T19:56:24.570 回答