Skip to content
 
 

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задача

Реализовать утилиту 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

About

Simple Printer CLI on C++

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages