c言語 2つのファイルを行ごとに読み込むプログラミング
c言語 2つのファイルを行ごとに読み込むプログラミング
0.txt と 1.txt という2つのテキストフォルダがあり
0.txt の中身は
a a
b b
1.txt の中身は
c c
d d
というものとします。
これら2つのフォルダを読み込むとき
まず1つのフォルダの1行目(a a)を表示し
他方の1行目(c c) 2行目(d d)を表示させて
続いて1つのフォルダの2行目(b b)を表示し
他方の1行目(c c) 2行目(d d)を表示させたいのです。
つまり実行結果が
a a
c c
a a
d d
b b ←理想の実行結果です
c c
b b
d d
となるようにしたいのですが
#include <stdio.h>
#include <stdlib.h>
#define STR_MAX 256
int main(void)
{
FILE *fp, *fp2;
int i, j, k;
char buf[STR_MAX];
char buf2[STR_MAX];
fp = fopen("0.txt", "r");
fp2 = fopen("1.txt", "r");
if (fp == NULL && fp2 == NULL){
printf("\n");
}
while(fgets(buf, STR_MAX, fp) != NULL){
while(fgets(buf2, STR_MAX, fp2) != NULL){
printf("%s%s", buf,buf2);
}
printf("\n");
}
fclose(fp);
fclose(fp2);
return 0;
}
このプログラミングの実行結果は
a a
c c
a a
d d
となり、0.txtの2行目(b b)は表示されません。
おそらく while 文 を2重にすることで
不具合が起きているのだと思うのですが
色々と調べた結果、これ以外に
プログラミングが思いつきません。
私の理想の実行結果にするためには
どこを訂正させると良いのでしょうか?
恐れ入りますが ご回答 どうかよろしくお願いいたします。
補足
ちなみにAというデータは 日付と数字になります 例) 2000/01/01 2.5