我在我的函數庫中有一個以下代碼,我在循環中多次調用它。經過大量的迭代後,我發現open
返回-1,它不應該有以前的迭代工作正常。可能是什麼原因。我怎樣才能獲得有關錯誤的更多細節?C++:文件打開調用失敗
int mode;
if (fileLen == 0)
mode = O_TRUNC | O_RDWR | O_CREAT;
else
mode = O_RDWR;
myFilDes = open (fName, mode, S_IRUSR | S_IWUSR);
編輯:每次迭代結束後我打電話說庫公開其內部調用close (myFilDes);
如果您每次打開一個新文件而沒有關閉其他文件,那麼您可能只是沒有文件句柄。 – 2011-03-09 14:31:41
你打開''後關閉文件嗎? – 2011-03-09 14:32:26
是的,我每次迭代後關閉 – devnull 2011-03-09 14:33:05