Данный проект состоит из программы на языке Си. Она позволяет копировать содержимое файлов, которые поступили на вход, в стандартный поток вывода. В случае если имена файлов не поступили, то она может перенаправлять данные, введенные пользователем с консоли, в стандартный вывод. При указании файлов в командной строке, программа последовательно открывает каждый из них, считывает и копирует содержимое в стандартный вывод.
На вход данной программы может поступать как один файл, так и несколько. Если программу запускать без соответствующих аргументов, то она читает данные с клавиатуры.
Стандартный ввод (stdin): если программа запускается без аргументов, то пользователь может вручную вводить данные, которые будут считаны до тех пор, пока не будет достигнут конец ввода (EOF).
При указании файлов в командной строке, программа последовательно открывает каждый файл, считывает его содержимое и выводит на экран.
Программа выводит считанные данные в стандартный вывод (обычно – экран). Если программа выполнилась успешно, то пользователь увидит содержимое файлов или данные, введенные с клавиатуры.
В Linux есть утилиты командной строки с похожим функционалом.
Утилита cat. Это самая известная утилита для просмотра содержимого файла в терминале.
Пример:
cat file.txt
>"содержимое_файла_file.txt"
Утилита tee. Читает данные из стандартного ввода, затем записывает вывод программы в стандартный поток вывода и одновременно копирует его в указанный файл или файлы.
>tee file.txt
123
123
>cat file.txt
123
Утилиты more и less. Команды, которые позволяют пользователю просматривать содержимое файлов постранично. Это может быть необходимо при работе с большими файлами.
>less file.txt
123
>more file.txt
123