
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Replace関数について教えて...
-
CSSが全く分かりません、お助け...
-
CPUが16bitでも32bitOSでコンパ...
-
最初に聞かれたこと
-
c言語の問題の説明、各所ごとに
-
Cのオブジェクトファイルの逆ア...
-
C言語 関数、変数の宣言について
-
C言語について。
-
C言語でファクト関数を使わずに...
-
プログラミング 素数か素数では...
-
あってる
-
DNCL(共テ用プログラミング言語...
-
int16_t の _t は何?
-
DLLファイルの逆コンパイラにつ...
-
visual studio 2022でのC#プロ...
-
プログラミングc++を全く分か...
-
DNCL(共テ用プログラミング言語...
-
C言語 配列と関数の練習問題
-
gccを行ってもexeファイルが生...
-
C言語 列挙型(enum型)変数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fopenでディレクトリ内の全ファ...
-
ファイルがオープンできない
-
ファイルの結合
-
1行がやたら長いテキストをバッ...
-
CGI二重起動防止ロック処理
-
perl の printでのファイルへの...
-
unixでのファイルロックの方法...
-
ファイルロックの解除方法
-
Cookieが保存できない。
-
TSVファイルを読み込んでCSV形...
-
ExcelをCSV書き出す場合のシー...
-
エクセルVBA コードが同じでも...
-
awkスクリプトでダブルクォーテ...
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
-
Windowsで複数のファイルを同じ...
-
where can I buy snowbord in t...
-
ReadLineでの読み出し行を指定する
-
バッチファイルの作り方(CSV→...
-
C言語で特定の行を抽出する方法...
おすすめ情報