- ベストアンサー
C言語でファイル名を取得
C言語でフォルダ内のファイル名を取得する方法ってありますか? そういう関数とかありませんか? 教えてほしいのですが。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1のサンプル gcc ,bcc32で確認 -------------------------------------------------------------- #include <stdio.h> #include <dirent.h> #include <errno.h> void main(void){ char DIRPATH[]="c:\\temp\\"; DIR *dir; struct dirent *entry; dir=opendir(DIRPATH);//必ず有る前提 while(NULL!=(entry=readdir(dir))){ DIR *test; char buff[260]; sprintf(buff,"%s%s\\", DIRPATH,entry->d_name); errno=0; test=opendir(buff); if(test==NULL && errno!=0){// When UNIX : errno==ENOTDIR printf("%s\n",entry->d_name); } else { closedir(test); } } closedir(dir); }
その他の回答 (2)
- PG_RankB
- ベストアンサー率40% (12/30)
お使いのOSは何ですか? Windows系で95以降でしたら、 ・FindFirstFile ・FindNextFile ・FindClose を使用して、指定ディレクトリ以下、サブディレクトリ内のファイル名を取得する事が可能です。 多少自分で処理を肉付けして調節する必要がありますが、それ位は関数の使用法を調べ、自分で考えれば簡単に実装出来ると思います。 windows.hをインクルードすれば使用可能になりますが、Win32API全てをインクルードしたくない場合、 宣言はwinbase.h内にあり、インポートライブラリはkernel32.libになります。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
POSIX系だったら opendir,readdirが使えると思います