Поиск имени файла без расширения - C (СИ)

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

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

Нужно из строки найти имя файла без расширения.Пример C:\users\downloads\abv.jpg должно вывести abv.У меня в программе выводит abv.jpg.Подскажите пожалуйста как сделать правильно.
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(int argc, char *argv[])
  4. {
  5. char str[51];
  6. gets(str);
  7. char *str1 = strrchr(str,'\\');
  8. puts(str1+1);
  9. return 0;
  10. }

Решение задачи: «Поиск имени файла без расширения»

textual
Листинг программы
  1. char *str2 = strrchr(str1, '.');
  2. if (str2!=NULL) *str2='\0';
  3. puts(str1+1);

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

  1. В этом коде используется функция strrchr, которая ищет последний символ в строке.
  2. Если символ '.' найден, то в str2 сохраняется указатель на этот символ.
  3. Если символ '.' не найден, то str2 становится равным NULL.
  4. Затем, если str2 не равно NULL, то символ '.' заменяется на символ '\0' в строке str1.
  5. Наконец, выводится строка str1+1, что приводит к выводу строки без последнего символа '.' и его следующих символов, если они есть.

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


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

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

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы