過去ログ
No.1045 フォルダの内容を表示するプログラム
[戻る]
[ホームページ]
No.13502
ご指導願います。
投稿者---as(2004/04/05 10:06:26)
こんにちは。2次元配列がわかった程度のC言語初心者ですが、
フォルダの内容を表示するプログラム
フォルダ内にファイルがある場合はその中も表示する
↑の内容の物を作ることになってしまい、入門書など手近な資料で調べたのですが、どうもそれらしいことが書いてなく・・・
何かヒントでも頂けたらと思い、書き込みました。
ご指導願います。
No.13503
Re:ご指導願います。
投稿者---as(2004/04/05 10:09:59)
忘れてました。Win32 Console Applicationでやろうとしています。
ほかの方法もありましたら、お願いします。
No.13505
こんな感じ?
投稿者---samsara(2004/04/05 11:06:40)
Win32APIに
::FindFirstFile()
::FindNextFile()
::FindClose()
という関数があります。まずは、これらを使ってファイルを検索します。
検索して得られたファイルの情報は、
::GetFileAttributes()
::GetFileTime()
::GetFileSize()
::GetFileType()
等を使用して取得できると思います。
その結果を表示するのは、標準ライブラリの
printf()
かな。
他にもやり方はあるかと思いますが、私が知っている
方法はこんな感じです。がんばってください。
No.13508
Re:こんな感じ?
投稿者---
YuO
(2004/04/05 17:00:56)
>検索して得られたファイルの情報は、
>::GetFileAttributes()
>::GetFileTime()
>::GetFileSize()
>::GetFileType()
>等を使用して取得できると思います。
殆ど
FindFirstFile
/
FindNextFile
で得られる情報ですよ。
#ちなみに,
GetFileAttributesEx
でも得られます。
WIN32_FIND_DATA
を
WIN32_FILE_ATTRIBUTE_DATA
に読み替えてください。
GetFileAttributes
WIN32_FIND_DATA::dwFileAttributes
GetFileTime
WIN32_FIND_DATA::ftCreationTime
WIN32_FIND_DATA::ftLastAccessTime
WIN32_FIND_DATA::ftLastWriteTime
GetFileSize
or
GetFileSizeEx
WIN32_FIND_DATA::nFileSizeHigh
WIN32_FIND_DATA::nFileSizeLow
さらに,ファイルが主なので,
GetFileType
の戻り値は一般的にFILE_TYPE_CHARになると思います。
#物理ディスクに対する
Reparse point
を開いたらどうなるかは知りませんが……。
No.13504
Re:ご指導願います。
投稿者---ともじ(2004/04/05 10:53:28)
>フォルダの内容を表示するプログラム
>フォルダ内にファイルがある場合はその中も表示する
この掲示板の過去ログへ行って、"opendir"で検索してみてください。
いくつか参考になる過去ログが見つかると思います。
No.13506
Re:ご指導願います。
投稿者---as(2004/04/05 11:24:11)
samsaraさん、ともじさん、ありがとうございます。
>この掲示板の過去ログへ行って、"opendir"で検索してみてください。
>いくつか参考になる過去ログが見つかると思います。
過去ログ見てみます、samsaraさんの言った関数も調べてみます。
ありがとうございました!