2013-07-18 47 views
0

有什麼辦法可以檢查一個文件是否在C/C++中使用?或者我必須ALWAYS實現鎖定/信號量以防止多個線程/進程同時訪問任何文件?如果文件正在使用,檢查C/C++的方法是什麼?

如果我們考慮Linux和下面的場景:我想通過RS-232通信使用預定義的通信框架以塊爲單位將存儲在設備A中的文件內容傳輸到另一個設備B.當傳輸請求到達時,我想在發送「Ready to Transfer:OK」響應之前驗證設備A中的任何進程未使用該文件,然後我將開始讀取並以塊傳輸數據。 有沒有辦法檢查文件,如果已經在使用沒有做fopen/fclose上的文件?

+0

你問如何[檢查一個文件是否被另一個應用程序使用](http://stackoverflow.com/questions/1048592/how-to-check-if-a-file-has-been-opened逐另一個應用程序,在-C)? – Huy

+0

在什麼平臺上? –

+6

這取決於操作系統。 –

回答

0

實際上

fopen(); 

是找到這一點的最好辦法。

在接收端做fopen(),如果成功,發送「OK to receive」消息。

相關問題