我用Matlab通過調用爲什麼fopen第一次失敗,但第二次工作?
fid = fopen(filename,'w')
創建一個新的文件,因爲文件名不存在,它應該創建一個新的文件,並給我一個有效的文件描述符。相反,它返回-1。如果我再次運行代碼,我得到fid = 3.
這是在Ubuntu上運行,但它顯然在Windows上工作正常,我不明白爲什麼。
-Mike
我用Matlab通過調用爲什麼fopen第一次失敗,但第二次工作?
fid = fopen(filename,'w')
創建一個新的文件,因爲文件名不存在,它應該創建一個新的文件,並給我一個有效的文件描述符。相反,它返回-1。如果我再次運行代碼,我得到fid = 3.
這是在Ubuntu上運行,但它顯然在Windows上工作正常,我不明白爲什麼。
-Mike
您應該查看文檔here中的fopen
的雙輸出參數格式。這可以讓你做類似的東西
[fh, failmessage] = fopen(fname, 'wt');
if fh == -1
error('Failed to open %s: %s', fname, failmessage);
end
您是否嘗試過收到錯誤的消息,看看它告訴你什麼?你可以通過向調用添加另一個輸出參數來實現:'[fid,message] = fopen(filename,'w')'。 – gnovice 2010-07-26 15:01:29