Задание 12 ОГЭ: как считать размер пути в дереве каталогов и маски имён файлов?
В задании 12 за компьютером бывает работа с файловой системой: то путь к файлу собрать, то понять, какие имена подходят под маску со звёздочкой и вопросом. Я путаюсь, что значит * и ?, и как читать длинное полное имя файла. Объясните простыми словами.
2 ответа
Разберём по частям.
Маски (шаблоны имён):
*— заменяет любое количество любых символов (в том числе ноль).?— заменяет ровно один любой символ.
Примеры под маску a*.txt: подходят a.txt, abc.txt, a123.txt — всё, что начинается на a и кончается на .txt. А b.txt не подходит.
Под маску do?.dat: подходят dom.dat, dog.dat (три символа до точки, начинаются на do), но do.dat (только два символа) и door.dat (четыре) — нет.
Полное имя файла — это путь от корня диска до файла через папки, например C:\Школа\9класс\отчёт.docx. Читается слева направо: диск → вложенные папки → сам файл. В заданиях на дерево каталогов просто иди по веткам от корня к нужному файлу и собирай имена папок по пути.
Подсказка по маскам: проверяй имена строго по пунктам — сначала совпадает ли начало (до * или ?), потом середина, потом расширение после точки. Чаще всего ошибаются на ?: помни, что это РОВНО один символ, не ноль и не два. И * тоже матчит пустоту, поэтому *.txt подходит и к файлу .txt без имени.