

ループにて、複数のファイル(.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#
-
複数のテキストファイルを1つにまとめる
C言語・C++・C#
-
-
4
関数から配列を返すには?
C言語・C++・C#
-
5
C言語---ファイルに出力したデータをすべて消去する方法
C言語・C++・C#
-
6
大量の入力ファイルを扱うとき、for文などで簡略化できる?
C言語・C++・C#
-
7
複数テキストファイルを読み込み、複数テキストファイルの出力
C言語・C++・C#
-
8
fopenで別ディレクトリにファイルをオープンしたい
C言語・C++・C#
-
9
ファイル名を複数個配列で確保したいときどうすればいいですか?
C言語・C++・C#
-
10
C言語 配列の長さの上限
C言語・C++・C#
-
11
ファイル内のデータを1行削除する方法
C言語・C++・C#
-
12
ファイル出力の場所を指定
C言語・C++・C#
-
13
テキストファイルから文字列を読み込んで二次元配列に格納するには
C言語・C++・C#
-
14
C言語で特定の行を抽出する方法を教えてください。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
なぜCSQとCIP形式ではコ...
-
複数ファイルの同時読み込みの...
-
256*256の読み込み、fscanfでは...
-
テキストを一文字以上ずつ読み...
-
C言語 ファイル入出力について
-
CSVファイルの内容を構造体に格...
-
OpenGLによる描画内容をBMP出力
-
大量の入力ファイルを扱うとき...
-
fopenの使い方
-
自己相関関数を求めるプログラ...
-
辞書順にソートしたいのですが...
-
C言語でファイル読み書きを早く...
-
c言語でのfscanfについて
-
Winsockの通信処理にてファイル...
-
C言語による画像処理で出力時に...
-
ガンマ変換 C言語でプログラ...
-
C言語におけるファイル読み込み...
-
テキストファイルに出力した結...
-
C言語 連番データの読み込み
-
C言語について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日本語ファイル名のFTPについて
-
C言語でファイル読み書きを早く...
-
複数ファイルの同時読み込みの...
-
ファイル出力で改行を入れたい!
-
c言語でのfscanfについて
-
ファイルへの書込み処理が異常...
-
テキストファイル内に対して, ...
-
CRC32の計算方法
-
fgets( ) の返り値は何?
-
VisualStudioでのファイルの入...
-
C言語にてXMLファイルから任意...
-
datファイルの読み込み
-
CSVファイルの内容を構造体に格...
-
C言語 連番データの読み込み
-
Winsockの通信処理にてファイル...
-
fopenでファイル名に、変数を使...
-
容量の大きいCSVファイルの読み...
-
画像の白黒表示
-
ライブラリ関数と同名のメンバ関数
-
YUV動画像を1ピクセルごとにず...
おすすめ情報