![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
UNIX上の/home/info/user/log内にある*.logファイルを一つずつfopenで開いて一行ずつ読み込み、用が済んだらfcloseで閉じていくようなプログラムを作りたいのですが、どうすれば良いのでしょうか?
最初はls -l /home/info/user/log/*.logをリダイレクトしたファイルリストを作り、それを読み込ませてfopen……という流れを考えていたのですが、対象となるファイルが万単位に登る為実現不可でした。
一行ずつ読み込ませる部分は既に出来ているので、fopen/fcloseに絞ってお教え下さい。
No.1ベストアンサー
- 回答日時:
お書きの方法でも別に万のファイルがあっても実現可能だと思いますが、リダイレクト先の一時ファイルを置く場所が足りないのでしょうか?
普通は、opendirして、
(readdirでディレクトリの内容を読み出してファイル名を調べfopen→処理→fclose) を繰り返します。
lsリダイレクト実行を大量のファイルがあるディレクトリに対して行うとCPUかメモリを圧迫してしまうようで、いつまでたっても帰ってきませんでした。
opendir→readdirでで出来ました。ありがとうございます。
No.3
- 回答日時:
ANo.1さんのおっしゃっている通りになるとおもいますよ。
ANo.1さんの回答には、参考URLが無かったので、載せておきます。
notnotさん、ごめんなさい。
参考URL:http://www.ncad.co.jp/~komata/c-kouza14.htm
No.2
- 回答日時:
fopen したいファイルの名前は系統立っていますか?
ファイル名が
file001,file002...file10000 のようにシーケンシャル
なネーミングになっているもしくはそのような
ネーミングにすることが可能ならば
カウンタを文字として扱い、fopen→処理→fcloseのループ内で
ファイル名を作成してしまうという方法がありますよ。
そうすればファイル名一覧をテーブルとして持ったりしなくても
よいのでプログラムは簡潔になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
複数ファイルの同時読み込みの方法と脱初心者向け参考書
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
C言語でフォルダを開く
C言語・C++・C#
-
-
4
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
5
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
6
ファイル出力の場所を指定
C言語・C++・C#
-
7
特定の文字列が一致する行から、文字列を抽出する方法
C言語・C++・C#
-
8
任意のディレクトリ以下に存在するファイル数について
C言語・C++・C#
-
9
fopenでのパス指定
C言語・C++・C#
-
10
C言語 配列の長さの上限
C言語・C++・C#
-
11
ディレクトリを操作したいと思いdirent.hをインクルードしたのです
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TSVファイルを読み込んでCSV形...
-
Cookieが保存できない。
-
エクセルVBA コードが同じでも...
-
ExcelをCSV書き出す場合のシー...
-
空白文字 \\f と\\v の違いに...
-
python renameについて
-
batファイルでrenameができませ...
-
Perlで特定行から特定行までを...
-
HTTP::Request::Common qw(POST...
-
close()で例外が投げられる理由
-
openした後、closeしないでプロ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
Pythonでegrep機能をつかいたい
-
パスから最後のディレクトリだ...
-
複数ファイルの読み込みについて
-
csvで順番の入れ替え
-
ifstream を利用した1行分のテ...
-
教えて!perlから.exeファイル...
-
Perlの初心者です。2重ループ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fopenでディレクトリ内の全ファ...
-
unixでのファイルロックの方法...
-
ファイルロックの解除方法
-
printscreenについて。
-
Cookieが保存できない。
-
画像アップロード機能を追加し...
-
CGI二重起動防止ロック処理
-
HTMLの中にCGIファイルリンク
-
VBでファイル分割の方法
-
1行がやたら長いテキストをバッ...
-
flockについて
-
ファイルがオープンできない
-
FC2サーバーでのCGI設置方法に...
-
CGIでhtml出力部分(print、ヒア...
-
DBの環境変数について
-
ファイルディスクリプタとは?
-
[perl] perlで書き込み中に、PC...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
おすすめ情報