Дана строка, содержащая полное имя файла. Выделить из этой строки название первого каталога - C (СИ)
Формулировка задачи:
Дана строка, содержащая полное имя файла. Выделить из этой строки название первого каталога (без символа ""). Если файл содержится в корневом каталоге, то вывести символ "". на Си. Спасибо!
Решение задачи: «Дана строка, содержащая полное имя файла. Выделить из этой строки название первого каталога»
textual
Листинг программы
#include <stdio.h> int main() { int k, n = 0, i = 0; char s[80]; printf("Type a file address:"); gets(s); while(s[i]){ if(s[i] == '\\') ++n; ++i; } k = n; i = 0; n = 0; if(k == 1){ printf("""); while(s[i]){ if(s[i] == '\\' && n == k - 1)break; printf("%c", s[i]); ++i; } printf("""); return 1; } while(s[i]){ if(s[i] == '\\' && n == k - 1)break; if(n == k - 1) printf("%c", s[i]); if(s[i] == '\\') ++n; ++i; } return 0; }
Объяснение кода листинга программы
В этом коде на языке C выделяется название первого каталога из строки, содержащей полное имя файла:
- Объявлены переменные:
- k, n, i - целочисленные, для подсчета количества обратных слешей и индекса строки;
- s - символьная, для хранения строки.
- Пользователю предлагается ввести строку, содержащую путь к файлу.
- В цикле while с помощью функции gets() происходит чтение строки посимвольно.
- Если текущий символ является обратным слешем и переменная n равна k-1, то из цикла выходит вложенный цикл while и текущий символ выводится на экран.
- Если текущий символ является обратным слешем и переменная n равна k-1, то значение переменной n увеличивается на единицу.
- Если текущий символ является обратным слешем и переменная n равна k-1, то из цикла выходит вложенный цикл while и текущий символ выводится на экран.
- Если текущий символ является обратным слешем и переменная n равна k-1, то значение переменной n увеличивается на единицу.
- Если текущий символ не является обратным слешем, то он выводится на экран.
- Если текущий символ является обратным слешем и переменная n равна k-1, то из цикла выходит вложенный цикл while и текущий символ выводится на экран.
- Если текущий символ является обратным слешем и переменная n равна k-1, то значение переменной n увеличивается на единицу.
- Если значение переменной n равно k, то вложенный цикл while завершается.
- Если значение переменной n равно k-1, то выводится на экран текущий символ.
- Если значение переменной n равно k, то вложенный цикл while завершается.
- Если значение переменной n равно k-1, то выводится на экран текущий символ.
- Если значение переменной n равно k, то вложенный цикл while завершается.
- Если значение переменной n равно k-1, то выводится на экран текущий символ.
- Если значение переменной n равно k, то вложенный цикл while завершается.
- Если значение переменной n равно k-1, то выводится на экран текущий символ.
- Если значение переменной n равно k, то вложенный цикл while завершается.
- Если значение переменной n равно k-1, то выводится на экран текущий символ.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д