ディレクトリを探索していき、ファイル一覧を表示していくような機能が欲しいのですが、自分でプログラムしたくてもどのように始めればよいのかわからず困っています。後々プログラミングの勉強にも使いたいですのでサンプルのプログラムなどがあれば見せていただきたいです。
できれば C もしくは C++ が希望です。
具体的な内容としましては、
『パソコンのCドライブなどから始めて、その中にあるディレクトリとファイル一覧を表示して、ディレクトリが存在すればその中に入り、またファイルとディレクトリの一覧を表示する。それを繰り返して行き、一番下まで行ったら、ひとつ上の階層に戻り同じことを繰り返す』
という感じです。再帰的なプログラムだと助かりますが、他にもよい方法があれば教えていただきたいです。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
とか参考にしてはどうですか?
再起的に取得するにはFindFirstFile(FindNextFile)で調べたパスを更にGetFileAttributes
でディレクトリかファイルを調べ
ディレクトリならまた自分自身を呼びます。
No.3
- 回答日時:
以下のプログラムで出来ます
C++Builderでのプログラムです
GetDiskSpace(C:\");とすればCドライブを検索してくれます
GetDiskSpace(const AnsiString root)
{
WIN32_FIND_DATA data;
HANDLE hFind;
hFind = FindFirstFile((root+"*.*").c_str(),&data);
if(hFind == INVALID_HANDLE_VALUE) throw Exception(SysErrorMessage(GetLastError()));
Application->ProcessMessages();
try
{
do
{
if(strcmp(data.cFileName,".")!=0 && strcmp(data.cFileName,"..")!=0)
{
if(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) GetDiskSpace(root+data.cFileName+"\\");//検索ファイルがフォルダ /再帰処理
else //検索ファイルがファイル ここに必要な処理をいれる
}
} while(FindNextFile(hFind,&data));
}
__finally { FindClose(hFind); }
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- Android(アンドロイド) QuickPik GalleryでSDカードの「root」のディレクトリが出てこない 3 2022/07/11 14:43
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フルパスから最後のディレクト...
-
どんなプログラムを書いても指...
-
windows.hがincludeされない
-
ExcelVBAでカレントディレクト...
-
セルに入力されたパスでフォル...
-
FindFirstFileについて
-
マイクラでPythonのプログラミ...
-
パス名を表示させたい
-
ThisWorkbook.Pathについて
-
EXCELでダイアログボックスを開...
-
webアプリケーションでの画像フ...
-
delphi5でのディレクトリ内ファ...
-
VBAのSHELLを用いてEXEファ...
-
GetPrivateProfileStringでini...
-
C言語を用いたファイルの一括削...
-
AfxLoadLibrary関数で、DLLのハ...
-
ファイルやディレクトリの存在...
-
FTPでputすると空ファイルが出...
-
VBでのファイル検索について。
-
Ubuntu テキストファイルをどこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
windows.hがincludeされない
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
マイクラでPythonのプログラミ...
-
C言語を用いたファイルの一括削...
-
fopenで別ディレクトリにファイ...
-
GetPrivateProfileStringでini...
-
ファイルやディレクトリの存在...
-
ネットワーク上のコンピュータ...
-
ExcelVBA サーバーの(共有フォ...
-
エクセルVBAで相対パスでファイ...
-
pythonでの日本語操作
-
VBAで自身のファイル名を取得す...
-
webアプリケーションでの画像フ...
-
絶対パスの絶対て英語で何でし...
-
FTPでリモートのファイル一覧取得
-
ファイルダイアログのカレント...
おすすめ情報