Windows で C 言語だとすると WIN32API の関数を使ってフォルダー内のファイル名を逐次取得していきます。
- FindFirstFile 関数 で先頭のファイルデータを取得
フォルダーはフィルターで指定
- FindNextFile 関数 が FALSE になるまで繰り返す。
簡単なサンプルをあげておきます。
lang
1#include <windows.h>
2#include <stdio.h>
3#include <tchar.h>
4
5int main(int argc, char *argv[])
6{
7 WIN32_FIND_DATA findData;
8 HANDLE hFind;
9 hFind = FindFirstFile(_T("c:/usr/bin/*.exe"), &findData);
10 if (hFind != INVALID_HANDLE_VALUE) {
11 do {
12 // ファイルごとの処理
13 _tprintf("%s\n", findData.cFileName);
14 } while (FindNextFile(hFind, &findData));
15 FindClose(hFind);
16 }
17 return (0);
18}
19
なお、findData.cFileName にはフォルダーのパスを除いたファイル名しか入らないので、実際に使う場合にはカレントフォルダーを移動するか、フォルダーのパスと結合してフルパスにする必要があります。
2014/10/20 05:49
2014/10/20 07:55
2014/10/20 07:57