回 帖 发 新 帖 刷新版面

主题:判断文件是否有数据问题

我利用fortran调用matlab,但是由于matlab运行需要一段时间,而fortran并不等matlab执行完,再往下执行语句。这是我加一段程序
    ioerr=-1

    Do while (ioerr<=0)
       open(1,file='eig_value.dat')
       read(1,*,iostat=ioerr) (eig_value(I),i=1,rows)
       close(1)
       write(*,*) ioerr
    Enddo
     如果文件里有数据的话,我就读,但是这样老提示文件有人在用。
这情况一般怎么解决?

回复列表 (共5个回复)

沙发

我想你还是等待 MatLab 执行完毕比较好。

大多数软件(我想 MatLab 也是,没研究过),打开文件都是独占的,没有 Share_Write 属性。因为那样可能发生很多无法预料的事情。

当文件被独占时,其他进程无法对起进行写入操作。(除非用RING0之类的强制手段)

板凳

不用fortran调用matlab

用shell调用fortran程序和matlab,shell脚本是一条条执行的

3 楼

[quote]不用fortran调用matlab

用shell调用fortran程序和matlab,shell脚本是一条条执行的[/quote]

shell这是什么东西?

4 楼

等MATLAB工作完了再读取吧。

5 楼

[quote]等MATLAB工作完了再读取吧。[/quote]
怎么判断matlab工作完事呢?

我来回复

您尚未登录,请登录后再回复。点此登录或注册