

ループにて、複数のファイル(.txt)を同時に読み込む方法はあるのでしょうか。(厳密に言えば、完全に同時ということではなく、時間差をつけてということ)。以下のプログラムではループ自体が行われていないようでした。while分とfreadの使い方に問題があると思うのですが…
~略~
int a,b;
FILE *fp1,*fp2;
fp1 = fopen(…,"r");
if(fp1 == NULL)
{・・・;}
fp2 = fopen(…,"r");
if(fp2 == NULL)
{・・・;}
while((a = fread(…,1,8,fp1)) != 0)
{
while(fread(…,1,8,fp2))
{
~略~
}
}
fclose(fp1);
fclose(fp2);
以下略~
また、2つ目のwhileを削除し次のようにすると1つ目のファイル(fp1)は読み込めるのですが、2つ目のファイル(fp2)が読み込めていないようでした。
~略~
while((a = fread(…,1,8,fp1)) != 0)
{
b = fread(…,1,8,fp2);
以下略~
解決方法を教えていただけないでしょうか。
次にいわゆる脱初心者向け(?)ともいえる参考書について。
初心者向けの入門書に載っている関数についての説明などは、どれも最も基本的な機能についてのものがほとんどで、少し応用したものは載ってません。
また、多少上級向けになると、例えば「int sprintf(char *buf,const char *format,…)」や、「int printf(const char *format,…)」といった具合にいかにも専門書らしくなっています。また使用例も、他に見たこともない関数が同時に出てきてまるで手がつけられません。
それはそれで重要なことであるのはわかるのですが、「sprintf(s,"%d%d",a,b) s文字配列、a,b整数値」という理解しやすい書き方をあわせて載せてある、「関数辞典」みたいな参考書とかは市販されているのでしょうか。私の理想通りの物とまでは言いませんが、お薦めのものを推薦していただければ幸いです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
関数の使い方の問題でなく、考え方の問題かも。
> FILE *fp1,*fp2;
ファイルは「本」、ファイルポインタは「しおり」と例えます。
複数(仮に5冊)の本を読むのに、ファイルポインタを2つ宣言しています。
2枚のしおりをどう使えば、5冊の本の全てのページを網羅する事ができるでしょうか?
って事を考えると、しおりが2枚なのは誤りで、5枚のしおりを使うか、1枚のしおりを使いまわすかの方が良いと思いませんか?
--
または、5冊の本の題名を書いた別の5ページ本が1冊あるのなら、何枚のしおりをどう使えば良いか?って事とか。
No.4
- 回答日時:
再びNo.2です。
私は「なにをしたい」のか書いてはどうかとアドバイスしているのですが、
回答者の書いていることをきちんと読んでいますか?
前回の質問でも回答者に対していい加減としか思えないお礼で済ませているし、
今回もまた同じ調子ですね。
>一つのファイルを幾つかの関数で試したことはあるにはあるのですが
これは誰に対する言い訳ですか?
私には言い訳なんて必要ありません。
テキストファイルを扱うと言いつつfread()を使う辺り、
まともに動くものが書けているとは思えませんから。
#fread()では不可能と言うことでなく、そういう方針では無理だと言うことです。
プログラミングに王道はありません。
一歩ずつ地道にやるか、誰かに丸投げするか、どちらかを選択するしかないと思いますが如何?
プログラムの目的は、二つのファイルの中身を文字列として読み込み、特定の文字の数を数えたりしてみようとしたものです。
思うように動作しなかったのは、勘違いでの記述ミスでした。修正後、結果としては目的どおりになりました。
大変お手数をお掛けして申し訳ありませんでした。

No.3
- 回答日時:
少なくとも、fread の第一引数が、... では、どこがどう間違っているのか判断のしようがありません。
また、「ループ自体が行われていないようです」や、「2つめのφ卯が読み込めてないようでした」というのは、どのように確認されたのでしょう。
確認方法自体が間違いだったり、勘違いだったという可能性も高いのですが。
ご回答ありがとうございます。
質問は勘違いから投稿してました。記述ミスでうまくいかなかったみたいです。少なくとも結果的には目的どおりになりました。お手数をお掛けしました。申し訳ありませんでした。
No.2
- 回答日時:
何度も同じようなレベルの質問を繰り返すより、
いっそ「なにをしたい」か書いてしまったほうが宜しいのでは?
そもそも一つのファイルを読み込んで何か処理するプログラムを書いたことはありますか?
それさえできないのに複数のファイルをいきなり扱うのはかなり無謀だと思いますが。
#例えば、教習所も出ていないのにレースに出るようなものでしょうかねぇ。
ご回答ありがとうございます。
>そもそも一つのファイルを・・・
全てではありませんが、一つのファイルを幾つかの関数で試したことはあるにはあるのですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- PHP PHPでテキストファイルに保存した時の改行問題 1 2022/11/19 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語について教えて欲しいです。 ファイルの中身をコピーするプログラムを作ってます aというファイル 7 2022/11/03 19:21
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- C言語・C++・C# 100バイトのバイナリファイルを読み込んで別のファイルに書き込みたいのですが、型をどうすればいいのか 1 2022/11/03 17:11
このQ&Aを見た人はこんなQ&Aも見ています
-
C言語のfopenについて教えてください。
C言語・C++・C#
-
c言語 2つのファイルを行ごとに読み込むプログラミング
C言語・C++・C#
-
大量の入力ファイルを扱うとき、for文などで簡略化できる?
C言語・C++・C#
-
-
4
複数のテキストファイルを1つにまとめる
C言語・C++・C#
-
5
C言語---ファイルに出力したデータをすべて消去する方法
C言語・C++・C#
-
6
関数から配列を返すには?
C言語・C++・C#
-
7
複数テキストファイルを読み込み、複数テキストファイルの出力
C言語・C++・C#
-
8
構造体の要素すべてに対する四則演算の方法を教えてください.
C言語・C++・C#
-
9
atoi( ) の反対をやりたい
C言語・C++・C#
-
10
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
11
ファイル名を複数個配列で確保したいときどうすればいいですか?
C言語・C++・C#
-
12
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
13
C言語 配列の長さの上限
C言語・C++・C#
-
14
ファイル出力の場所を指定
C言語・C++・C#
-
15
テキストファイルから文字列を読み込んで二次元配列に格納するには
C言語・C++・C#
-
16
特定の文字列が一致する行から、文字列を抽出する方法
C言語・C++・C#
-
17
C言語で特定の行を抽出する方法を教えてください。
C言語・C++・C#
-
18
C言語で特定列だけを抽出して配列に格納し、出力したいです。 読み込みファイル(read.txt) 0
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語にてXMLファイルから任意...
-
CGIコンパイルエラーについ...
-
構造体のメンバにファイルポイ...
-
VisualStudioでのファイルの入...
-
テキストファイル内に対して, ...
-
c言語でのfscanfについて
-
C言語でファイルの内容を strto...
-
複数ファイルの同時読み込みの...
-
csvfファイルの1行目と3行目を...
-
ファイル出力で改行を入れたい!
-
C言語 共用体の構造体の引数設定
-
C言語を用いて、csvファイル内...
-
fscanfで格納された変数がおか...
-
【C言語】ファイルを読み込んで...
-
C言語 バイナリデータのサイズ...
-
バイナリファイルの読み込み(C...
-
fscanfでループしてしまう。
-
テキストファイルをバイナリフ...
-
CRC32の計算方法
-
C言語でセグメンテーションエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
c言語でのfscanfについて
-
ファイルへの書込み処理が異常...
-
ファイル出力で改行を入れたい!
-
fscanfでループしてしまう。
-
C言語にてXMLファイルから任意...
-
テキストファイル内に対して, ...
-
datファイルの読み込み
-
ファイルに行番号を追加
-
大量の入力ファイルを扱うとき...
-
辞書順にソートしたいのですが...
-
InternetReadFileを使ったファ...
-
C言語 連番データの読み込み
-
C言語におけるファイル読み込み...
-
数値のみ抽出(C言語)
-
簡易grep関数ができません。助...
-
VisualStudioでのファイルの入...
-
fgets( ) の返り値は何?
おすすめ情報