Вывести название последнего каталога - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана строка, содержащая полное имя файла. Выделить из строки название последнего каталога (без символов ""). Если файл содержится в корневом каталоге, то вывести символ "".80 символов. При реализации программы необходимо использовать функции для обработки строк из библиотек stdlib.h и string.h и обязательно использовать функции из этих библиотек. Буду очень благодарен

Решение задачи: «Вывести название последнего каталога»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
void PrintLastCatalog(const char * path)
{
    char * pch, partOfPath[100] = {'\0'};
    pch=strrchr(path,'/');
    if (pch == NULL)
        puts("Error: Invalid file path.");
    else
        {
            strncpy(partOfPath,path,pch - path);
            pch=strrchr(partOfPath,'/');
            if (pch == NULL)
                puts("\"\"");
            else
                printf ("%s\n",pch + 1);
        }
}
int main ()
{
  char path1[] = "/media/andryuha/CA90-A86A1/myText.txt";
  char path2[] = "/w0rkhide.odt";
  PrintLastCatalog( path1);
  PrintLastCatalog( path2);
  return 0;
}

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

  1. Включаются необходимые заголовочные файлы для работы с файловой системой и строками.
  2. Создается функция PrintLastCatalog, которая принимает в качестве аргумента путь к файлу.
  3. Внутри функции создаются две переменные: pch - указатель на последний символ в строке пути, и partOfPath - строка, которая будет содержать часть пути до последнего каталога.
  4. С помощью функции strrchr находится последний символ в строке пути, который является символом '/'. Если такой символ не найден, выводится сообщение об ошибке.
  5. Если символ найден, то с помощью функции strncpy в строку partOfPath копируется часть пути от начала до последнего каталога.
  6. Затем снова с помощью функции strrchr находится последний символ в строке partOfPath, который является символом '/'. Если такой символ не найден, выводится пустая строка.
  7. Если символ найден, то выводится название последнего каталога.
  8. В функции main создаются две константные строки, которые представляют пути к файлам.
  9. Затем вызывается функция PrintLastCatalog с передачей в нее первого пути.
  10. После этого вызывается функция PrintLastCatalog с передачей в нее второго пути.
  11. Программа возвращает 0, что означает успешное выполнение.

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


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

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

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