掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォルダの中のファイルの名前を取得するには? (ID:53571)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
直接の原因がわかんないので、思いつくところを片っ端から指摘。 まさかとは思いますが、#define UNICODE とか定義してないですよね? してあったらエラーなり警告なり出ると思いますが… > FindFirstFileA("*?.???",(WIN32_FIND_DATAA*)&wfd); 「Unicode を使ってるけどこの関数だけは ASCII 版を呼びたいんだ!」とかいうよくわからないこだわりでもない限り、FindFirstFile'A' とか WIN32_FIND_DATA'A' とか、A をつける必要はないです。ついでに WIN32_FIND_DATAA* 型にキャストする必要もまったくないです。 FindFirstFile、WIN32_FIND_DATA、ただの &wfd でおっけーです。 > ワイルドカードを使用しています。 "*?.???" というワイルドカードでは、すべてのファイルを列挙することはできません。 これは、「ドットの前に1文字以上あり、ドットがあり、ドットの後に3文字ある」という条件です。例えば、「index.html」なんてのはドットの後に4文字あるのでヒットしません。 普通は "*.*" か "*" を使うと思いますが…。 > 拡張子を除いたファイル名の最後に"~1"がついていませんか? cFileName メンバなのでないと思います。 cAlternateFileName メンバならそうなりますが。 とはいえ、 > 実際にそのフォルダにあるファイル名と、検索で得られたファイル名について出してもらえますでしょうか。 これは賛成です。というか俺の > 検索したいファイル名と、実際に得られるファイル名はどんな感じなんでしょう? はそういうつもりで言ったんですが。 できればついでに、WM_CREATE 中でファイルの検索に関わっているソースも全部載せていただけませんか。FindNextFile のトコとか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.