2012-05-11 8 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() 'の値は何ですか?また、戻り値をNULLでなく0と比較する必要があります。ポインタ型ではなく、 'BOOL'を返します。 –

+0

私はそのいけない作業をしたいので、GetLastErrorをの戻り値が何であるかを知らない:場合(( \t :: DeleteFileを(L "IO.res"))== 0) DWORDエラー。 \t error = GetLastError(); MessageBox(NULL、エラー、L "OK"、MB_OK); – Luther

+0

私はNULLを0に固定しました。しかしIO.resは依然として存在します。 – Luther

答えて

3

Windows CEには、「現在の」または「作業中の」ディレクトリという概念はありません。削除するファイルへの完全修飾パスを指定する必要があります。

+0

指定したディレクトリで試しましたが、問題は同じです。 – Luther

+0

実行した* exact *コードとGetLastErrorの結果が必要です。デバッガを使用すると、印刷せずに値を取得できるはずです。 [ローカル]ウィンドウを使用します。 – ctacke

+0

解決済み!問題は本当にfoldernameを指定する必要があります!私はファイルのパスを与えるとき初めて間違っている。今は働いている! ctackeとAdam Rosenfieldに感謝し、初心者の質問にはごめんなさい。 – Luther

関連する問題