- 締切済み
ディレクトリ内のファイル検索
ディレクトリから複数のテキストファイルを取り出して、複数のデータ(文字列ですね)をとりこんで、変数に格納する方法を知りたいです。 できれば、WIN、UNIX両方で動くようなものをつくりたいのですが、どうすればいいでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- wolfberry
- ベストアンサー率23% (3/13)
とくにGUIに関係しないのであれば、Javaで作るのが楽でしょうね。ベンチマークしてみるとわかりますが、バッチ系の処理は下手なC/C++プログラムより高速です。でもGUI処理が入るのなら、Swingの中途半端なGUIエミュレーションは気に入らない人が多いでしょう。
- MASATO3
- ベストアンサー率60% (27/45)
boost::filesystemを使ってみては如何でしょうか。 WIN環境でもUNIX環境でもboostライブラリがあればコンパイルできるものが作れると思います。
お礼
回答ありがとうございます。 URLをみてみました。これは、自分でヘッダを用意してOSに依存しないでファイル操作をやっちゃう、ってことですよね?面白いと思いました。 でもこれはVisual Studio .NET などで使用するとき、<boost/filesystem/exception.hpp>て書くだけじゃなくて、中身も書かなきゃ駄目なんですか? もしそうなら、どこに書けばいいのかわからないんです。よかったら教えてください。 素人過ぎる質問ですみません。。。
UNIX ご存知なら、glob(3), opendir(3) 辺りのご確認を。これで、ディレクトリ内のファイル名を検索できます。 ファイルを取り込んで変数への設定は、fopen(3), fgets(3), または、fread(3) 辺りでしょうか(この辺の例は沢山転がっていると思います)。 WIN では Cygwin 環境をご利用になれば、(この程度の内容なら)全く同じソースが利用できると思います。 Win32 API での記述は 不明です ^^) ## もしも根性あれば、Cygwin 自体(DLL)のソースを眺めればヒントがあるのではないでしょうか?? (参考URL)
- 参考URL:
- http://cygwin.com/cvs.html
お礼
>Cygwin 自体(DLL)のソースを眺めればヒントがあるのではないでしょうか?? 根性と時間があったらがんばってみます(^^;) ありがとうございました。
- rentahero
- ベストアンサー率53% (182/342)
別々にコンパイルするという前提なら出来る。 でもバイナリで両方動くのは無理。 で、ディレクトリから複数のテキストファイルを取り出して複数の文字列データとして変数に格納? 該当のファイルをopenしてreadするだけでは? どのような変数の宣言をするかで微妙に変わるとは思いますが、これだけの前提ではどうにも回答しきれないです。
補足
おっしゃる通り、openとreadで問題ないですね。うっかりしてました。 今回の質問で最も知りたかったのは、ディレクトリを参照する場合、WINならFindFirstFileでできますよね? そういうのを使わないでディレクトリを参照する方法があるのか、そして、そのプログラムがWIN、UNIXどちらの環境でも動くようなものを作れないかな?ということです。 やはり別々でないとできないのでしょうか?そうであるならその方法を教えてくれませんか?
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>できれば、WIN、UNIX両方で動くようなものをつくりたいのですが、どうすればいいでしょうか? 無理です。処理系依存です。 http://www.miri.ne.jp/~izumi/lang/003.html
お礼
わかりました。ありがとうございました。
お礼
わかりました。ありがとございました。