Выделить из строки название последнего каталога - 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]);
}

Объяснение кода листинга программы

  1. Вводится строка с помощью функции gets(str).
  2. Инициализируются две переменные l и r, которые будут использоваться для отслеживания границ последней директории.
  3. Происходит итерация по каждому символу строки.
  4. Если текущий символ равен 92 (это символ обратной косой черты), то меняются значения переменных l и r, чтобы определить границы последней директории.
  5. Если r больше 0, то это означает, что мы находимся в корневом каталоге, и мы увеличиваем значение l на 1.
  6. Если r равно 0, то мы находимся в последнем каталоге, и мы присваиваем значение r равным 1.
  7. Выводится последовательность символов с помощью цикла for, начиная с l и заканчивая r.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.5 из 5
Похожие ответы