C 判斷檔案是否正在被使用

2022-02-13 03:23:00 字數 937 閱讀 4185

生成檔案的時候,如果該資料夾下的同名檔案被開啟(或者被使用),如果這時再生成乙個同名檔案,則會提示檔案正在被占用。

解決方法有兩個,乙個是儲存的檔名改成該資料夾下不存在的(隨機數之類的xxoo都行,只要不存在就可以了),當然這裡指的是該同名檔案是被使用,如果該同名檔案不開啟,生成檔案的時候就直接將其覆蓋了;

另乙個是判斷當前檔案的狀態,如果當前檔案被操作了,則該幹嘛幹嘛,如果沒有被操作,那就生成了。

從網上找了好多資料,今天記錄下,以免將來用到,直接上**,如下:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

using

system.io;

using

system.runtime.interopservices;

using

system.web.mvc;

namespace

hotelinventory.web.models.repository

intptr vhandle = _lopen(vfilename, of_readwrite | of_share_deny_none);//windows api上面有定義擴充套件方法

if (vhandle ==hfile_error) 

closehandle(vhandle);//windows api上面有定義擴充套件方法

return

1;//

檔案存在且沒被占用

} }

}

以上**直接呼叫就可以了,path是完整的檔案路徑,命名空間也不要忘了。

判斷乙個檔案是否正在被使用

createfile函式的原型如下 handle createfile lpctstr lpfilename,指向檔名的指標 dword dwdesiredaccess,訪問模式 寫 讀 dword dwsharemode,共享模式 lpsecurity attributes lpsecuritya...

如何判斷乙個檔案是否正在被使用

這段時間在做檔案操作方面的工作.雖然看似簡單,實際卻很煩瑣,容易出現問題,加之測試也不是很方便.有時要向檔案寫入東西,在開啟檔案前不單要判斷檔案是否存在,還要判斷檔案是否被別人使用.如下 1using system 2using system.collections.generic 3using s...

C 判斷乙個檔案是否正在被開啟占用

方法1 開啟看看就知道了 判斷乙個檔案是否正在使用函式 開啟看看就知道了 將要判斷檔案的檔名 bool public static bool isfileinuse string filename catch exception e finally return inuse true表示正在使用,f...