Реализовать утилиту PrintFile выводящую в стандартный поток вывода содержимое(частичное содержимое) для указанного файла.
Программа должна поддерживать следующие аргументы командной строки (опции):
-l, --lines=n вывести только n (только положительное) первых(последних) строк файл (необязательный аргумент, по-умолчанию выводим все)
-t, --tail вывод n последний строк файла (необязательный аргумент)
-d, --delimiter=c символ по которому определяется конец строки (нeобязательный, по-умолчанию '\n')
Название файла и опции передаются через аргументы командной строки в следующем формате:
PrintFile.exe [OPTION] filename
PrintFile.exe filename
PrintFile.exe filename
PrintFile.exe --tail --lines=10 filename
PrintFile.exe -l 2 filename
PrintFile.exe -d '\t' filename
PrintFile.exe filename -t -l 10
-
Стоит подумать о том, что размер файла может быть очень большим и значимо превышать размер оперативной памяти
-
Стоит подумать каким образом разбить программу на логичные функции
-
Не забывай про CodeStyle
Для реализации утилиты потребуется воспользоваться стандартной библиотекой вводы\вывода (описание). Пример использования
Пример того, как можно организовать парсинг аргументов командной строки, можно посмотреть здесь.
https://www.modernescpp.com/index.php/c-17-what-s-new-in-the-library/ - c++ 17 new features
https://habr.com/ru/companies/otus/articles/715608/ - string_view