Привет, мне недавно дали задание на C.
Цель задачи - прочитать два текстовых файла и вывести каждую строку каждого файла рядом со строкой-разделителем в середине этих строк.
Пример:
файл 1 содержит:
green
blue
red
файл 2 содержит:
rain
sun
строка-разделитель = xx
вывод =
greenxxrain
bluexxsun
redxx
Мне удалось это сделать, но мне было интересно, есть ли у кого-нибудь еще альтернативы. Вот мой код:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int f1, f2;
FILE *file1, *file2;
file1 = fopen("textone", "r"); //open file1 for reading.
file2 = fopen("texttwo", "r"); //open file2 for reading.
//if there are two files ready, proceed.
if (file1 && file2){
do{
//read file1 until end of line or end of file is reached.
while ((f1 = getc(file1)) != '\n' && f1!= EOF ){
//write character.
putchar(f1);
}
//print separator string.
printf("xx");
//read file2 until end of line or end of file is reached.
while ((f2 = getc(file2)) != '\n' && f2!= EOF ){
//write character.
putchar(f2);
}
putchar('\n');
//do this until both files have reached their end.
}while(f1 != EOF || f2 != EOF);
}
}