複数ファイルの同時読み込みの方法と脱初心者向け参考書
ループにて、複数のファイル(.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整数値」という理解しやすい書き方をあわせて載せてある、「関数辞典」みたいな参考書とかは市販されているのでしょうか。私の理想通りの物とまでは言いませんが、お薦めのものを推薦していただければ幸いです。
よろしくお願いします。
お礼
ありがとうございます。 とてもよい勉強になりました。 そして解決しました。