adf20001982 发表于 2010-11-20 00:17:29

为何有些TXT文件MATLAB打开再关闭后还会被占用?

整个程序运行时间比较长,

中间要反复重写一个TXT文件,

用fopen打开写后已经用 fclose 关闭了,

刚开始的运行并没有显示错误,

但是运行了大概10几个小时后会显示错误,

“ ??? Error using ==> dataread
File not found or permission denied.

Error in ==> textread at 176
...

??? C:\Program Files\MATLAB\R2009b\toolbox\matlab\uitools\errordlg.m: Too
many files open; check that FILES = 20 in your CONFIG.SYS file.

Error in ==> uiopen at 216”

关闭MATLAB再重新打开运行,还是难以避免,

有谁知道是怎么回事?

--------------------------------------------------------多谢:)

messenger 发表于 2010-11-20 20:03:48

可能是因为broken pipe,你的文件没有关闭。

建议你还是改进程序,不要反复重写一个TXT文件。

比如原来每循环一次,写一次TXT文件,改成把结果先存入一个临时变量中,循环100次再写一次TXT文件。

adf20001982 发表于 2010-11-20 22:21:13

那个TXT文件由于程序结构的原因需要每次写,

或者每次先把旧的TXT删除,再写个新的,能否避免这个问题?

ChaChing 发表于 2010-11-21 00:52:23

help frewind

taohe 发表于 2010-11-22 20:55:53

那个TXT文件由于程序结构的原因需要每次写,

或者每次先把旧的TXT删除,再写个新的,能否避免这个问题?
adf20001982 发表于 2010-11-20 22:21 http://forum.simwe.com/images/common/back.gif

两种做法看起来都不应该又问题。如果你有简单的示例程序能够出现这种错误的,不妨放出来,大家一起看看。否则,你可能需要自己仔细地检查自己的程序,看看有没有逻辑上的错误,比如每个fopen调用是否确保有相应的fclose调用等。
页: [1]
查看完整版本: 为何有些TXT文件MATLAB打开再关闭后还会被占用?