I use cmake as build system
git clone git@github.com:jjay/pathmatcher.git
cd pathmatcher
cmake . && make
./pathmatcher
Тестовое задание C++ Реализовать алгоритм проверки имени файла по шаблону (filename matching) с использованием следующих подстановок:
- ? Один символ, кроме разделителя пути
- * Сколько угодно символов (включая 0), не включая разделитель пути
- ** Сколько угодно сегментов пути
Все остальные символы соответствуют самим себе. В качестве разделителя пути в шаблоне может использоваться любой из слешей (как / так и ). Символы * и ? не могут использовать в именах файлов или каталогов
На текущий момент этот алгоритм достаточно широко используется, но одним из первых он появился в системе сборки Ant. Вот описания и примеры:
- http://ant.apache.org/manual/dirtasks.html#patterns
- https://confluence.atlassian.com/fisheye/pattern-matching-guide-298976797.html
Реализация
Консольное приложение для Windows, принимающее на вход (через командную строку) два параметра - имя файла и шаблон. В имени файла также могут использоваться как обратные, так и прямые слеши. Код выхода приложения должен быть
- 0 Имя файла соответствует шаблону
- 1 Имя файла не соответствует шаблону
- 2 Какие-либо проблемы с параметрами. Недостаточно параметров, неверный формат и т.п. Для реализации используется язык C++ и Microsoft Visual Studio 2015 (можно младше, но пожалуйста, не ниже 2010). Без использования сторонних библиотек (stdlib можно).