0 / 0 / 0
Регистрация: 08.06.2020
Сообщений: 16

Выделить имя файла (без расширения) из строки с полным именем

08.07.2020, 18:38. Показов 1898. Ответов 4
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки имя файла (без расширения).
Решите пожалуйста!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.07.2020, 18:38
Ответы с готовыми решениями:

Выделить из строки с полным путем к файлу само имя файла без расширения
String58. Дана строка, содержащая полное имя файла, то есть имя диска, спи-сок каталогов (путь), собственно имя и расширение. Выделить из...

Выделить из строки имя файла без расширения
Дана строка, содержащая полное имя файла (например, 'c:\server\home\test\www\gold.txt'). Выделите из этой строки имя файла без расширения

Выделить из строки имя файла без расширения
Дана строка, содержащая полное имя файла, то есть имя диска, список ката- логов (путь), собственно имя и расширение. Выделить из этой...

4
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.07.2020, 18:45
C++
1
2
3
4
5
6
7
8
char p[] = "C:\\aa;a\\bbb\\ccc.txt";
char *s = strrchr(p, '\\');
if (s==NULL) cout << "Неправильное полное имя";
else {
  char *t = strchr(s+1, '.');
  if (t!=NULL) *t = '\0';
  cout << s+1;
}
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,921
09.07.2020, 08:35
Только в 5 строчке не strchr, а strrchr, а то файлы вроде file.tar.gz будет неправильно обрабатывать.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.07.2020, 09:39
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
файлы вроде file.tar.gz будет неправильно обрабатывать.
Да, были сомнения... Но когда много точек, что считать за расширение, а что за имя без расширения? Копаться в этом вопросе не стал. Если ТС хоть немного соображает, должен сам разобраться и соответственно модифицировать код..
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,921
09.07.2020, 10:03
Байт, я бы исходил из логики, что каждое расширение (не путать с просто точками в имени файла - для версий или дат, скажем) должно соответствовать своей программе. Тот же *.tar.gz сначала открывается gzip'ом, что дает *.tar, а потом tar'ом, что дает распакованный файл.
Другое дело, что современный gzip и сам может раз-tar-ить, но это только бонус.

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Если ТС хоть немного соображает
*тяжкий вздох* вы правда на это надеетесь? Учитывая, что он даже не пытался решить задачу самостоятельно.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2020, 10:03
Помогаю со студенческими работами здесь

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения/
C++

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения
На с++

Дана строка содержащая полное имя файла.Выделить из этой строки только имя файла без расширения
1.Дан символ С.Вывести его код (то есть номер в кодовой таблице) 2. Дан символ С.Вывести два символа, первый из которых предшествует...

Выделить из строки имя файла (без расширения)
) Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой...

Выделить из строки с полным путем к файлу только имя файла
Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru