找回密码
 注册
Simdroid-非首页
查看: 93|回复: 4

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

[复制链接]
发表于 2010-11-20 00:17:29 | 显示全部楼层 |阅读模式 来自 陕西西安
整个程序运行时间比较长,

中间要反复重写一个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再重新打开运行,还是难以避免,

有谁知道是怎么回事?

--------------------------------------------------------多谢:)
发表于 2010-11-20 20:03:48 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
可能是因为broken pipe,你的文件没有关闭。

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

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

评分

2

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-20 22:21:13 | 显示全部楼层 来自 陕西西安
那个TXT文件由于程序结构的原因需要每次写,

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

使用道具 举报

发表于 2010-11-21 00:52:23 | 显示全部楼层 来自 台湾
help frewind

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-11-22 20:55:53 | 显示全部楼层 来自 新加坡
那个TXT文件由于程序结构的原因需要每次写,

或者每次先把旧的TXT删除,再写个新的,能否避免这个问题?
adf20001982 发表于 2010-11-20 22:21


两种做法看起来都不应该又问题。如果你有简单的示例程序能够出现这种错误的,不妨放出来,大家一起看看。否则,你可能需要自己仔细地检查自己的程序,看看有没有逻辑上的错误,比如每个fopen调用是否确保有相应的fclose调用等。

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 22:31 , Processed in 0.046092 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表