A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
「任意のファイルをオープン」なんていう危険な関数は標準では用意されません。
どうしても必要なら(必要な状況は思いつきませんが…)作るしかないですね。
環境が指定されていないのですがWindowsでいいですか?
言語はCでいいですか?C++ですか?
とりあえず、Win32APIを使ってCで書くなら
FindFirstFile()
FindNextFile()
FindClose()
これらを組み合わせればディレクトリ(フォルダ)内のファイルの列挙は可能です。
UNIX系ならdirent.hを参照してください。
拡張子が指定されているのでMacintoshは除外しましたが必要なら調べますよ。
(多分PBコールにあるから)
この回答への補足
ご親切なアドバイスを頂きまして,本当にありがとうございます。
初心者なので,とんちんかんな事を言っていたらごめんなさい。環境は,UNIXでC言語を使っています。
必要と思ったきっかけは,"○○○.ini"というファイルが,数千個ほどありまして,それらを各々加工(フィルタ)して"○○○.dat"というファイルにしようと思ったからです。
これからdirent.hを調べてみます。
まだ分からない事があると思いますので,その時はまたよろしくお願いします。ありがとうございました。
No.2
- 回答日時:
UNIXの場合、されようとしている事でしたら、
$ 作成するフィルター *.ini
のように、ワイルドカードで、ファイルを指定してやれば、mainの引数にファイル名が展開された状態できます。
(しばらくUNIX触ってないのでワイルドカードが間違っているかもしれません。)
あとは、
・引数のファイルをオープン
・このファイル名の拡張子を変更したものをオープン
・処理結果を出力する
を繰り返せばいいのでは?
No.3
- 回答日時:
老婆心ながら…
UNIXのファイルシステム(i-nodeファイルシステム)では1ディレクトリに数千個もファイルを置くとopen/closeにとんでもない時間がかかります。
i-nodeはカスケード方式ですから…。
1ディレクトリに置くファイル数を制限してディレクトリ分割することをオススメします。
top/a/a*.ini
top/b/b*.ini
...
こんな感じでもいいし、時間で分割してもいいし。
もっとアクセス速度を上げるならファイル作成時にハッシュ表を作ってしまうほうがいいでしょう。
無駄なディレクトリ検索をしなくて済みます。
仕様上どうしようもないかもしれませんが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- PDF エクセルのVBAでファイルをpdfで保存するとソフトによっては開けなくなる 3 2022/06/08 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
windows.hがincludeされない
-
C言語を用いたファイルの一括削...
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
GetPrivateProfileStringでini...
-
fopenで別ディレクトリにファイ...
-
webアプリケーションでの画像フ...
-
ExcelVBA サーバーの(共有フォ...
-
VBAでサブフォルダ内の写真サイ...
-
セルに入力されたパスでフォル...
-
VBでフォルダ単位のFTP
-
絶対パスの絶対て英語で何でし...
-
ファイルやディレクトリの存在...
-
C#でカレントディレクトリの取...
-
圧縮(Zip)について
-
VBAで自身のファイル名を取得す...
-
ShellExecute、エクスプローラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
どんなプログラムを書いても指...
-
ExcelVBAでカレントディレクト...
-
マイクラでPythonのプログラミ...
-
windows.hがincludeされない
-
「UNCパスはサポートされません...
-
ファイルやディレクトリの存在...
-
ネットワーク上のコンピュータ...
-
C言語を用いたファイルの一括削...
-
fopenで別ディレクトリにファイ...
-
GetPrivateProfileStringでini...
-
ExcelVBA サーバーの(共有フォ...
-
絶対パスの絶対て英語で何でし...
-
FTPでリモートのファイル一覧取得
-
webアプリケーションでの画像フ...
-
ファイルダイアログのカレント...
-
VBAで自身のファイル名を取得す...
-
AfxLoadLibrary関数で、DLLのハ...
-
Ubuntu テキストファイルをどこ...
おすすめ情報