我有一段使用Windows SHFileOperation函數和FO_MOVE操作的代碼。指定的其他標誌是FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT。如果目標驅動器已滿,SHFileOperation FO_MOVE刪除文件
當目標驅動器已滿時,觀察到一種特殊的奇怪行爲。在這種情況下,MOVE無法將文件放在目標文件夾中,但源文件也丟失了。這非常出乎意料,這導致數據丟失。
這是SHFileOperation的標準行爲嗎? 如果目標驅動器有空間,我們可以有像MOVE一樣的東西,否則將文件留在原始位置?
順便說一句我知道「CreateFileEx」返回失敗狀態但刪除目錄的情況,所以不會被WinAPI的不良行爲感到驚訝。 – 2010-07-07 23:26:50