/pathmatcher

Test task for Rook One Game

Primary LanguageC++

Pattern matcher

Get, Compile & Run

I use cmake as build system

git clone git@github.com:jjay/pathmatcher.git
cd pathmatcher
cmake . && make
./pathmatcher

Original task description

Тестовое задание C++ Реализовать алгоритм проверки имени файла по шаблону (filename matching) с использованием следующих подстановок:

  • ? Один символ, кроме разделителя пути
  • * Сколько угодно символов (включая 0), не включая разделитель пути
  • ** Сколько угодно сегментов пути

Все остальные символы соответствуют самим себе. В качестве разделителя пути в шаблоне может использоваться любой из слешей (как / так и ). Символы * и ? не могут использовать в именах файлов или каталогов

На текущий момент этот алгоритм достаточно широко используется, но одним из первых он появился в системе сборки Ant. Вот описания и примеры:

Реализация

Консольное приложение для Windows, принимающее на вход (через командную строку) два параметра - имя файла и шаблон. В имени файла также могут использоваться как обратные, так и прямые слеши. Код выхода приложения должен быть

  • 0 Имя файла соответствует шаблону
  • 1 Имя файла не соответствует шаблону
  • 2 Какие-либо проблемы с параметрами. Недостаточно параметров, неверный формат и т.п. Для реализации используется язык C++ и Microsoft Visual Studio 2015 (можно младше, но пожалуйста, не ниже 2010). Без использования сторонних библиотек (stdlib можно).