Выделить из строки название последнего каталога - C (СИ) (77676)
Формулировка задачи:
Разработать программу. Максимальная длина строк не менее
80 символов. При реализации программы необходимо использовать функции для обработки
строк из библиотек stdlib.h и string.h.
Дана строка, содержащая полное имя файла. Выделить из строки название
последнего каталога (без символов "\"). Если файл содержится в корневом
каталоге, то вывести символ "\".
Решение задачи: «Выделить из строки название последнего каталога»
textual
Листинг программы
#include <stdio.h> using namespace std; char str[500]; int l, r; int main() { gets(str); for (int i = 0; str[i] != 0; i++) if (str[i] == 92) // Если текущий символ - \ l = r, r = i; // меняем границы последней директории if (r > 0) // Проверяем случай корневого каталога l++; else r = 1; for (l; l < r; l++) printf("%c", str[l]); }
Объяснение кода листинга программы
- Вводится строка с помощью функции gets(str).
- Инициализируются две переменные l и r, которые будут использоваться для отслеживания границ последней директории.
- Происходит итерация по каждому символу строки.
- Если текущий символ равен 92 (это символ обратной косой черты), то меняются значения переменных l и r, чтобы определить границы последней директории.
- Если r больше 0, то это означает, что мы находимся в корневом каталоге, и мы увеличиваем значение l на 1.
- Если r равно 0, то мы находимся в последнем каталоге, и мы присваиваем значение r равным 1.
- Выводится последовательность символов с помощью цикла for, начиная с l и заканчивая r.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д