![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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ランキング
-
VBSでごみ箱に捨てたファイルの...
-
60MBの音声ファイルを送信したい。
-
コンパイル時のエラーについて...
-
~~~.rar.htmlというファイル...
-
ホームページビルダーで作成し...
-
レポートを書く際に、PDFのファ...
-
ギガファイル便って女の人のエ...
-
既存のページをホームページビ...
-
Music Center for PCの楽曲をiT...
-
録音アプリのPCM録音で4時間録...
-
FFFTP、更新できません。
-
PDFファイルがAIファイルに勝手...
-
サイトで使用していない画像フ...
-
外付けHDDの80GBのデータを内蔵...
-
Windows2000とWindows2003の違...
-
HP公開してあるデータをビル...
-
Excel編集が出来ない(異常に遅...
-
ファイルが勝手にダウンロード...
-
動画ファイル(MPEG/MOV)をAVC...
-
Windows環境でのNTPサーバー冗長化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
急にXMLパースエラーが表示され...
-
コンパイル時のエラーについて...
-
Excelのハイパーリンクがエラー...
-
ワードがなかなか閉じないです
-
local by flywheelについて
-
VB6 使用中ファイルの確認
-
ホームページビルダーの【×】マ...
-
ファイルopenエラーになってし...
-
VBAを記述したEXCELファイルを...
-
エクセルVBA インデックスが有...
-
ftp_getできない?
-
電子書籍epub変換について
-
thunderbardでエラーが出ます。
-
localhostで表示されない
-
属性の値に特殊文字が大量にあ...
-
Excel VBAのユーザーフォームに...
-
緊急です。 パワーポイントで p...
-
リンカ 致命的エラーについて
-
VCで作成したDLLの使用
-
Irvineフリーのプロトコルエラ...
おすすめ情報