Блок задач

4. Структуры данных

Темы
Сложность 3

Задача «Слияние файлов»

Написать программу, которая построчно объединяет файлы, переданные ей как аргументы командной строки

Входные данные

Несколько входных файлов:

Файл 1.txt:

aa
bb
cc

Файл 2.txt:

0
1

Файл 3.txt:

hey

Файлы могут содержать пустые строки. Их необходимо игнорировать.

Постановка задачи

Написать программу, которая построчно объединяет файлы, переданные ей как аргументы командной строки, и выводит их в новый текстовый файл.

Передачу имен файлов реализовать через аргументы командной строки.

Объединение происходит таким образом, что сначала выводятся первые строки всех файлов по порядку следования, потом вторые, третьи и т. д.

Если какие-то из файлов не могут быть найдены или открыты, программа должна выдать предупреждение об этом в стандартный вывод ошибок (cerr) и продолжить работу, игнорируя неоткрытые файлы.

Выходные данные

Выход для файлов Файл 1.txt, Файл 2.txt, Файл 3.txt

aa
0
hey
bb
1
cc

Тестирование

Для всех разработанных модулей должны быть созданы наборы unit тестов. Функций ввода/вывода нужно тестировать с помощью std::stringstream.