2012-05-11 128 views
1

這是怎麼回事?DeleteFile,C++,WinCE

if((
::DeleteFile(L"IO.res"))== NULL) 
MessageBox(NULL,L"Error",L"OK",MB_OK); 

我在同一個目錄中有IO.res文件,但程序不能刪除它。 通過集成的文件管理器,我可以刪除。 我使用EVC4。

+1

'DeleteFile'返回後'GetLastError()'的值是什麼?此外,您應該將返回值與0進行比較,而不是'NULL' - 它返回'BOOL',而不是指針類型。 –

+0

我不知道什麼是GetLastError函數的返回值,因爲它不想工作:如果(( \t ::的DeleteFile(L 「IO.res」))== 0) DWORD錯誤; \t error = GetLastError(); MessageBox(NULL,error,L「OK」,MB_OK); – Luther

+0

我將NULL固定爲0.但IO.res仍然存在。 – Luther

回答

3

Windows CE沒有任何「當前」或「工作」目錄的概念。您必須提供要刪除的文件的完全限定路徑。

+0

我試過指定的目錄,但問題是一樣的。 – Luther

+0

我們需要您運行的* exact *代碼和GetLastError的結果。使用調試器,您應該能夠獲得該值而不打印出來。使用本地窗口。 – ctacke

+0

解決!問題是真的需要指定文件夾名稱!第一次當我給出文件路徑時,我錯了。現在它的工作!非常感謝ctacke和Adam Rosenfield,對新手問題感到抱歉。 – Luther