- ベストアンサー
Windowsで任意のフォルダにあるファイルの名称を取得したいのですが
Windowsで、任意のフォルダにあるファイルの名称を取得したいのですが、どのようにすればよいのか分かりません。ご存知でしたら教えてください。どうぞよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
任意のフォルダ内のファイルの名前の一覧ってことかと想像します。 と、FindFirstFile() と FindNextFile() を使うのがよろしいかと。 以下使用例でも。コンパイルしてませんが……。 #include <windows.h> #include <stdio.h> int main(){ HANDLE h; WIN32_FIND_DATA fd; h = ::FindFirstFile(".\\*", &fd); if(h == INVALID_HANDLE_VALUE){ ::MessageBox(NULL, "エラー", "えらー", MB_OK); return 1; } do{ /* フォルダ内の各ファイル名が fd.cFileName に 格納された状態でこの部分は実行されます。 */ remove(fd.cFileName); /* なので、例えばこうすると、 ディレクトリ内の全ファイルが削除されます。 */ }while(FindNextFile(h, &fd)); return 0; } より詳しい仕様などは参考 URL をどうぞ。
その他の回答 (1)
- takashi-n
- ベストアンサー率14% (1/7)
こんなかんじです。 WIN32_FIND_DATA findData ; HANDLE hFile ; hFile = FindFirstFile ( "フォルダ名\\*.*" , &findData ) if ( hFile != INVALID_HANDLE_VALUE ) { do { if ( !( findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) ) { printf ( "%s\n" , findData.cFileName ) ; } } while ( FindNextFile ( hFile , &findData ) ) ; FindClose ( hFile ) ; }
お礼
参考になりました。どうも有難うございます!