Это то, как мой вывод в настоящее время выглядит (что не так, как я хочу) и как должен выглядеть правильный вывод -
Я хочу, чтобы моя программа, которую я сейчас выполняю, принимала входные данныеиз 2 файлов .txt, а затем поместите их в 1 выходной файл .txt, но выходные данные должны выглядеть примерно так:
Например, если содержимое двух входных файлов было следующим: «Сейчас самое время». «Длябыстрая коричневая лиса. »Тогда моя строка вывода будет такой:« Теперь быстрое время, коричневая лиса ».
Программа также должна использовать заглавные буквы первой буквы каждого слова из первого файла и последнюю буквукаждое слово из второго файла, пока я не исчерпал одну строку, затем передает все оставшиеся слова из более длинной строки в мой выходной файл без изменений.В конце каждого набора строк заканчиваются точкой и записывают строку в выходной файл, как показано выше
Мой текущий код в c выглядит следующим образом:
/*
* Copyright (C) 2018 Canton Robinson
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char *argv[] )
{
FILE *fp1 , *fp2, *fp3;
int ch;
if (argc !=4) {
fprintf(stderr, "Usage: mincer File1 File2 destFile\n");
exit(EXIT_FAILURE);
}
if ((fp1 = fopen(argv[1], "rb")) ==NULL) {
fprintf(stderr, "Can't open %s\n", argv[1]);
exit(EXIT_FAILURE);
}
if ((fp2 = fopen(argv[2], "rb")) ==NULL) {
fprintf(stderr, "Can't open %s\n", argv[2]);
exit(EXIT_FAILURE);
}
if ((fp3 = fopen(argv[3], "wb")) ==NULL) {
fprintf(stderr, "Can't open %s\n", argv[3]);
fclose(fp1);
fclose(fp2);
exit(EXIT_FAILURE);
}
// Copy contents of first file to file3.txt
while ((ch = fgetc(fp1)) != EOF)
fputc(ch, fp3);
// Copy contents of second file to file3.txt
while ((ch = fgetc(fp2)) != EOF)
fputc(ch, fp3);
printf("Merged %s and %s into %s", argv[1], argv[2], argv[3]);
fclose(fp1);
fclose(fp2);
fclose(fp3);
return 0;
}