
Cでのフォルダの削除方法が分からず困っています。
ファイルの削除は"remove()"で行うことができましたが、フォルダは同じ方法ではできないようです。
No.394869 の質問を参考にして"SHFileOperation()"を使用してみたのですが、エラー担ってしまいました。(Access Violation)
"SHFILEOPSTRUCT"の値の設定(ハンドルなど)がうまくいっていないのかな?とも思ったのですが、
どうすればよいのかわかりません。
別の方法があればそれでもいいですし、"SHFileOperation()"の使い方(ハンドルの設定など)を知りたいのでよろしくお願いします。
ちなみに、今は以下の方法でやっていました。
フォルダ内(testfolder)は空の状態です。
********************************************
SHFILEOPSTRUCT shfileop;
/* ファイルの削除 */
shfileop.hwnd = NULL;
shfileop.wFunc = FO_DELETE;
shfileop.pFrom = "C:\\TEST\\testfolder";
shfileop.fFlags = FOF_SIMPLEPROGRESS|FOF_NOCONFIRMATION;
SHFileOperation(&shfileop);
No.2ベストアンサー
- 回答日時:
FOF_SIMPLEPROGRESSが指定されていますね。
このときは、lpszProgressTitleが有効になるので構造体を初期化しないとエラーになるでしょう。
もしかしたらNULLでもだめで、文字列を指定しないといけないかも。
_rmdirは、空のディレクトリしか削除できない点に気をつけてくださいね。
ありがとうございます。
おっしゃるとおり、構造体の初期化に問題があったようです。
構造体の初期化をしてから実行してみたところ、
正常にフォルダを削除することができました。
これからも何かありましたらよろしくお願い致します。
No.1
- 回答日時:
ファイル名は、最後にNULL文字が2つ連続する必要があります。
shfileop.pFrom = "C:\\TEST\\testfolder\0";
として試してみてください。
回答ありがとうございます。
早速"\0"を追加してやってみましたが、
他に問題があったようでエラーが発生してしまいました。
上司にも相談していろいろ聞いてもらったところ、
"_rmdir関数"というものがあり、それを使うようにと言われました。
その方法で試してみたら正常にフォルダが削除されたので、"_rmdir()"を使用することにします。
"SHFileOperation()"でのエラーについては、
時間を見つけて解決してみようと思います。
ありがとうございました。
ちなみに、_rmdir関数の使用法は以下の通りです。
intRet = _rmdir(strDirPath);
(strDirPath = 削除対象ディレクトリパス)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Outlook(アウトルック) すべての新着メールが「受診フォルダ」に入らない。 2 2023/02/24 20:28
- その他(Microsoft Office) PCのHDの空きを増やすために,ONE driveのフォルダーを限定しましたが,容量が増えません? 4 2022/08/04 14:12
- Windows Vista・XP windows10 フォルダを上書きするときに、元のフォルダを全て削除してコピーする方法 3 2022/05/22 00:53
- Windows 8 カスペルスキー削除後の外付HDD不具合 3 2023/03/06 06:41
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
thunderbardでエラーが出ます。
-
ホームページビルダーの【×】マ...
-
ファイルopenエラーになってし...
-
属性の値に特殊文字が大量にあ...
-
VB6 使用中ファイルの確認
-
サーバーに転送したファイルが0...
-
裁判所から届く「訴状」は転送...
-
URLに付いてる~(チルダ?)って...
-
ギガファイル便って女の人のエ...
-
WordでURLをクリックしてそのペ...
-
[ブロック解除]の方法が知りた...
-
FTPへのアップロードが失敗する
-
PaintPictureメソッドについて
-
OpenSSHのサーバー設定ファイル...
-
www以外のホスト名の設定
-
ファイルサイズと転送速度の関係
-
ハイパーリンクを新規ウィンド...
-
デスクトップのファイルが上書...
-
クラウドサービスの転送容量
-
転送と回送の違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Androidアプリ制作-エラーコード
-
コンパイル時のエラーについて...
-
ホームページビルダーの【×】マ...
-
VB6 使用中ファイルの確認
-
thunderbardでエラーが出ます。
-
VCで作成したDLLの使用
-
ファイルopenエラーになってし...
-
変数の移送について
-
フォルダの削除について
-
VBSでごみ箱に捨てたファイルの...
-
インターネットでエラーが多発...
-
[TeX,DVI,PS,PDF]
-
localhostで表示されない
-
最初の起動時から・・・
-
Borland C++ Compilerのエラー...
-
drupalでエラーが表示される
-
先週へんなアダルトサイトに誘...
-
急にXMLパースエラーが表示され...
-
韓国に送った添付ファイルexcel...
-
OEが立ち上がらない!!(初心...
おすすめ情報