フォルダの中にあるpngファイルの数と名前を取得したい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
wasawasa
記事: 94
登録日時: 11年前

フォルダの中にあるpngファイルの数と名前を取得したい

#1

投稿記事 by wasawasa » 11年前

こんにちは、いつもお世話になっています。
X個のpngファイルを含めたY個のファイルが入っている「Folder」という名前のフォルダがプロジェクトファイルと同じフォルダの中にあったとして、Folderフォルダの中にあるpngファイルの数をint型の変数に、Folderフォルダ内のpngファイル全ての名前をCHAR型の変数に格納するとしたらどうすればいいでしょうか?

特定のフォルダ内の全てのpngファイルを読み込むプログラムを有象無象のファイルが混ざっている状況も想定して記述したいのですが、名前も数も分からない場合はどうしたらいいのか見当が付かないので困っています。
何かいい方法は無いでしょうか?どなたかよろしくお願いします。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#2

投稿記事 by YuO » 11年前

OS等,どのような環境でしょうか。
また,「フォルダ」であって「ディレクトリ」ではないのですね。
オフトピック
フォルダとディレクトリは別物であることがあるので (e.g. Windows)。

wasawasa
記事: 94
登録日時: 11年前

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#3

投稿記事 by wasawasa » 11年前

>>YuOさん
すみません、書き忘れていました。
OSはWindows7で、プログラミングに使用しているソフトはMicrosoft Visual C++ 2008 Express Editionです。
Windowsでのフォルダとディレクトリの違いは説明見てもよく分かりませんでした。

なないと

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#4

投稿記事 by なないと » 11年前

ネットで少し調べればフォルダ内のファイル名を取得するプログラムは
簡単にでてくるのですが、何から何まで分からないということはないと思います。
少し作ってみてから再度質問してみたらどうでしょうか?

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#5

投稿記事 by Dixq (管理人) » 11年前

FindFirstFile

FindNextFile
を用いることでファイル名一覧が取得できますよ。
http://d.hatena.ne.jp/s-kita/20100129/1264776052
そこから欲しいファイルだけフィルタリングすればOKです。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#6

投稿記事 by YuO » 11年前

すでにDixq (管理人)さんがFindFirstFileFindNextFileを紹介されているので,ディレクトリ下のファイルについては省略します。
wasawasa さんが書きました:Windowsでのフォルダとディレクトリの違いは説明見てもよく分かりませんでした。
ディレクトリは完全に物理的に存在する物です。
それに対して,フォルダーはディレクトリを含みますが,物理的に存在しない,例えば「ネットワーク」フォルダ (FOLDERID_NetworkFolder, CSIDL_NETWORK) も含みます。
ZIPやCABもフォルダーとなります。
エクスプローラーで表示される階層構造に含まれる物は,だいたいフォルダーです。

フォルダーを相手にするのであれば,SHGetDesktopFolderあたりを元に,IShellFolderとお友達になりながら調べていくことになるかと思います。
あとは,SHGetIDListFromObjectとかSHGetPathFromIDListとかでしょうか。
最終的にはディレクトリーに帰結させてFindFirstFile系で探した方が楽だとは思います。
オフトピック
EnumObjectsで非フォルダーを列挙させて,も可能ですが,FindFirstFileと違いワイルドカードによるフィルタリングができないので……。
► スポイラーを表示

wasawasa
記事: 94
登録日時: 11年前

Re: フォルダの中にあるpngファイルの数と名前を取得したい

#7

投稿記事 by wasawasa » 11年前

>>Dixq (管理人)さん
>>YuOさん

GetModuleFileName()で実行ファイルのパスを取得してから、それを元に目当てのフォルダのパスを組み立ててFindFirstFileとFindNextFileで読み込む、という方法でできるようになりました。ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る